বাশ VS Zsh: পার্থক্য এবং তুলনা

Bash Vs Zsh Differences



বাশ শেল হল লিনাক্সের জন্য ডিফল্ট শেল এবং এটি বোর্ন শেলের পরিবর্তে মুক্তি পায়। অনেক স্বয়ংক্রিয় কাজ এবং প্রোগ্রামিং সমাধান দ্বারা করা যেতে পারে বাশ সহজে। একই ধরনের কাজ করার জন্য লিনাক্সে আরও অনেক শেল পাওয়া যায় বাশজেড শেল অথবা Zsh তাদের মধ্যে একটি যা পরে উদ্ভাবিত হয় বাশ । এর অনেক বৈশিষ্ট্য আছে যেমন বাশ কিন্তু এর কিছু বৈশিষ্ট্য Zsh ব্যাশের চেয়ে এটিকে আরও উন্নত এবং উন্নত করুন, যেমন বানান সংশোধন, সিডি অটোমেশন, ভাল থিম এবং প্লাগইন সমর্থন ইত্যাদি লিনাক্স ব্যবহারকারীদের বাশ শেল ইনস্টল করার প্রয়োজন নেই কারণ এটি লিনাক্স বিতরণের সাথে ডিফল্টরূপে ইনস্টল করা আছে। Zsh বা Z শেল ডিফল্টভাবে সিস্টেমে ইনস্টল করা হয় না। ব্যবহারকারীদের এটি ব্যবহার করার জন্য এই শেলটি ইনস্টল করতে হবে। কিছু বৈশিষ্ট্য সাধারণ বাশ এবং Zsh কিন্তু এই শেলগুলির মধ্যে কিছু প্রধান পার্থক্য রয়েছে যা সঠিক ব্যাখ্যা সহ এই নিবন্ধে বর্ণিত হয়েছে।

ব্যবহার ' সিডি 'কমান্ড

'Cd' কমান্ডটি বর্তমান ডিরেক্টরি পরিবর্তন করতে বাশ এবং জেডএসএইচ শেল উভয় ক্ষেত্রেই ব্যবহৃত হয়। যে ফিচারের মাধ্যমে ডিরেক্টরিগুলি বারবার অনুসন্ধান করা হয় ফাইল এবং ফোল্ডার খুঁজে বের করার জন্য পুনরাবৃত্তিমূলক পথ সম্প্রসারণ যা শুধুমাত্র zsh দ্বারা সমর্থিত। Bash এবং zsh shell- এ 'cd' কমান্ডের ব্যবহার এখানে দেখানো হয়েছে।







বাশ

ডিরেক্টরি পরিবর্তন করার জন্য আপনাকে ব্যাশের মধ্যে ডিরেক্টরিটির সম্পূর্ণ পথ টাইপ করতে হবে এবং পুনরাবৃত্তিমূলক পথ সম্প্রসারণ ব্যাশ দ্বারা সমর্থিত নয়।



$সিডি কোড/অজগর



Zsh

এই শেলটিতে ডিরেক্টরি এবং ফাইল সহজেই অনুসন্ধান করা যায়। টাইপ করলে সিডি + স্পেস + সি + ট্যাব zsh শেলের মধ্যে, তারপর এটি যেকোন ফাইল বা ফোল্ডারের নাম দিয়ে শুরু করবে 'গ 'এবং এটি প্রথমে পাওয়া ফাইল বা ফোল্ডারের নাম দেখাবে।





% সিডি

উদাহরণস্বরূপ, যদি কোড ফোল্ডারটি পাওয়া গেছে এবং এটি প্রদর্শিত হবে। যদি আপনি আবার টাইপ করেন '/পি' তারপর এটি ফাইলগুলি দেখাবে এবং ফোল্ডারের নাম 'দিয়ে শুরু হবে পৃ '।

% সিডিপৃ



বানান সংশোধন

বানান পরীক্ষক যে কোনো শেলের জন্য খুবই উপকারী বৈশিষ্ট্য। ব্যবহারকারীরা সহজেই এই বৈশিষ্ট্য দ্বারা টাইপিং ত্রুটি সংশোধন করতে পারেন। এই বৈশিষ্ট্যটি উভয় দ্বারা সমর্থিত বাশ এবং Zsh। কিন্তু বানান সংশোধন আরও দক্ষতার সাথে করা যেতে পারে Zsh শেল নীচের উভয় শেলের জন্য এই বৈশিষ্ট্যটির ব্যবহার দেখানো হয়েছে।

বাশ

ধরুন, আপনি ডিরেক্টরিতে যেতে চান ' সঙ্গীত 'কিন্তু আপনি টাইপ করেছেন' মিউজিক ' ভুল করে, তারপর বাশ শেল ডিফল্টরূপে বানান ত্রুটি সনাক্ত করবে না এবং এটি একটি ত্রুটি বার্তা দেখাবে: অনুরূপ কোন ফাইল বা ডিরেক্টরি নেই

$সিডিমিউজিক

এই ধরনের সমস্যা সংশোধন করতে আপনাকে বানান পরীক্ষক সক্ষম করতে হবে। খোলা /.bashrc বানান পরীক্ষক সক্ষম করার জন্য লাইন যোগ করার জন্য যেকোনো সম্পাদকের ফাইল। এখানে ন্যানো ফাইলটি সম্পাদনা করতে সম্পাদক ব্যবহার করা হয়।

$ন্যানো~/.bashrc

ফাইলের শেষে নিচের লাইন যোগ করুন, ফাইলটি সংরক্ষণ করুন এবং বন্ধ করুন।

দোকান -এসসিডিস্পেল

এখন, স্থায়ীভাবে পরিবর্তন নিশ্চিত করতে নিম্নলিখিত কমান্ডটি চালান।

$সূত্র~/.bashrc

যদি আপনি উপরেরটি চালান ' সিডি ' টার্মিনাল থেকে বানান ত্রুটি সহ কমান্ড, তারপর এটি স্বয়ংক্রিয়ভাবে ফোল্ডারের নাম সংশোধন করবে।

$সিডিমিউজিক

Zsh

বানান পরীক্ষকটি ডিফল্টরূপে zsh শেলেও সক্ষম হয় না। সুতরাং, যদি আপনি বানান ত্রুটি সহ নিম্নলিখিত কমান্ডের মতো 'ইকো' কমান্ডটি চালান তবে এটি ত্রুটি বার্তাটি দেখাবে।

%ehco'ওহে বিশ্ব'

খোলা /.zshrc যেকোনো এডিটরে ফাইল করুন এবং ফাইলের শেষে নিম্নলিখিত লাইন যোগ করুন। প্রথম লাইনটি Zsh এ বানান পরীক্ষককে সক্ষম করবে। বানান পরীক্ষকের ডিফল্ট বিকল্প মান হল, [nyae] যে নির্দেশ করে না, হ্যাঁ, বাতিল করুন এবং সম্পাদনা করুন । দ্বিতীয় লাইন ব্যবহারকারীর জন্য বিকল্পগুলি আরও বোধগম্য করার জন্য ডিফল্ট মান পরিবর্তন করবে। এখানে, ন্যানো এডিটর ফাইল এডিট করতে অভ্যস্ত।

% ন্যানো~/.zshrc
সেটপট সঠিক
রপ্তানি SPROMPT=' %R থেকে %R সঠিক? [হ্যাঁ, না, বাতিল, সম্পাদনা] '

ফাইলটি সংরক্ষণ করুন এবং প্রস্থান করুন এবং পরিবর্তনটি আপডেট করতে নিম্নলিখিত কমান্ডটি চালান।

% সূত্র~/.zshrc

আবার আগের কমান্ড চালান এবং আউটপুট চেক করুন। এখন, ব্যবহারকারী আউটপুট সংশোধন করার বিকল্প পাবেন। যদি আপনি y টাইপ করেন তাহলে বানানটি স্বয়ংক্রিয়ভাবে সংশোধন করা হবে।

%ehco'ওহে বিশ্ব'

যদি আপনি রং ব্যবহার করে আউটপুটকে আরো কার্যকর করতে চান তাহলে zsh শেল থেকে নিম্নোক্ত কমান্ডটি চালান যাতে রঙটি সক্ষম হয়।

%অটোলোড ইউ রং&&রং

এর পরে, নিম্নলিখিত লাইন যোগ করুন /.zshrc আগের মত ফাইল।

রপ্তানি SPROMPT='সঠিক$ fg[লাল]%R$ reset_colorপ্রতি$ fg[সবুজ]%r$ reset_color?
[হ্যাঁ, না, বাতিল, সম্পাদনা] '

এখন, বানান ত্রুটি সহ কোন কমান্ড চালান এবং আউটপুট চেক করুন। এখানে, ত্রুটি শব্দটি লাল রঙ দ্বারা প্রদর্শিত হবে এবং সঠিক শব্দটি সবুজ রঙ দ্বারা প্রদর্শিত হবে।

%ehco'ওহে বিশ্ব'

থিম ব্যবহার করে

বিভিন্ন থিম এবং প্লাগইন ব্যবহার করে শেল প্রম্পটের চেহারা পরিবর্তন করা যায়। Bash এবং zsh শেল উভয়ই শেলের চেহারা পরিবর্তনের জন্য অনেক ধরনের থিম রয়েছে। কিভাবে bash এবং zsh shell এ থিম ব্যবহার করা যায় তা এই নিবন্ধের পরবর্তী অংশে দেখানো হয়েছে।

বাশ

যে কোন ব্যাশ থিম ইন্সটল করতে আপনাকে git ইন্সটল করতে হবে। গিট প্যাকেজ ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান।

$sudo apt-get install যাওয়া

ইনস্টল করার পর যাওয়া , একটি ক্লোন তৈরি করতে নিম্নলিখিত কমান্ডটি চালান বাশ-ইট টেমপ্লেট.

$গিট ক্লোন -গভীরতা=https://github.com/বাশ-ইট/bash-it.git/.bash_it

ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান বাশ-ইট ক্লোনিং করার পর টেমপ্লেট। প্রেস করুন ' এবং 'যখন এটি ব্যাকআপ রাখতে বলবে ।/.bash_profile অথবা ।/.bashrc এবং সংযুক্ত করুন বাশ-এটা ফাইলের শেষে টেমপ্লেট।

ইনস্টলেশন প্রক্রিয়া শেষ করার পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

এখন, যদি আপনি ওপেন করেন /.bashrc যে কোন সম্পাদক ব্যবহার করে ফাইলটি নিম্নলিখিত সামগ্রী ধারণ করবে। 'ববি' ব্যাশ-ইট টেমপ্লেটের জন্য ডিফল্ট থিম হিসাবে সেট করা আছে।

শেলের আপডেট নিশ্চিত করতে নিম্নলিখিত কমান্ডটি চালান।

$সূত্র~/.bashrc

টেমপ্লেটটি সঠিকভাবে ইনস্টল করার পরে টার্মিনালে নিম্নলিখিত প্রম্পটটি উপস্থিত হবে। এখন, টার্মিনাল বন্ধ করুন। আপনি যখনই টার্মিনাল খুলবেন তখন আপনি একই বাশ প্রম্পট দেখতে পাবেন।

এর জন্য অনেক থিম পাওয়া যায় বাশ-এটা টেমপ্লেট যারা বিভিন্নভাবে ব্যাশ প্রম্পট প্রদর্শন করে। তার মধ্যে একটি হল ' হিংসা ’ থিম আপনি যদি এই থিমটি সেট করতে চান তাহলে editor/.bashrc ফাইলটি যেকোনো এডিটর ব্যবহার করে খুলুন এবং ' BASH_IT_THEME 'এর মান' হিংসা '।

আবার, চালান ' সূত্র স্থায়ীভাবে আপডেট নিশ্চিত করার জন্য কমান্ড। 'Vyর্ষা' থিম সেট করার পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

Zsh

ব্যাশের মতো, zsh শেলের অনেকগুলি থিম রয়েছে। Zsh থিমগুলির মধ্যে একটি হল ওহ-মাই-জেডএসএইচ । Zsh শেলের জন্য এই থিমটি ইনস্টল করতে নিম্নলিখিত কমান্ডটি চালান।

% -সি '$ (curl -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) '

থিম ইন্সটল করার পর ‘চাপুন’ এবং' zsh এ ডিফল্ট শেল করতে।

এটি ইনস্টলেশন প্রক্রিয়া সম্পন্ন করার জন্য রুট পাসওয়ার্ড চাইবে। ইনস্টলেশন প্রক্রিয়া শেষ করার পরে নিম্নলিখিত আউটপুট প্রদর্শিত হবে।

এখন, যদি আপনি open/.zshrc ফাইলটি খুলেন তাহলে আপনি এন্ট্রি দেখতে পাবেন ওহ-মাই-জেডএসএইচ টেমপ্লেট. 'রবিরুসেল' টেমপ্লেটের জন্য ডিফল্ট থিম হিসাবে সেট করা আছে।

পরিবর্তনটি স্থায়ীভাবে রাখতে, আপনাকে 'উৎস' কমান্ডটি চালাতে হবে।

% সূত্র~/.zshrc

আপনি যদি থিম পরিবর্তন করতে চান ' তীর 'তারপর যেকোনো এডিটরে ~/.zshrc ফাইলটি খুলুন এবং' এর মান পরিবর্তন করুন ZSH_THEME ' প্রতি 'তীর '।

Zsh শেলের জন্য স্থায়ীভাবে পরিবর্তন আপডেট করতে আপনাকে আবার 'উৎস' কমান্ড চালাতে হবে। এই থিমটি সেট করার পর নিচের তীর চিহ্নটি প্রদর্শিত হবে।

% সূত্র~/.zshrc

আপনি যদি টার্মিনাল বন্ধ করে আবার zsh শেল খুলেন তাহলে নিচের আউটপুটটি আসবে।

ওয়াইল্ডকার্ড সম্প্রসারণ ব্যবহার করে

ওয়াইল্ডকার্ড সম্প্রসারণ কোন সেটিং ছাড়াই বিভিন্নভাবে ব্যাশে ব্যবহার করা যেতে পারে। কিন্তু ডিফল্টরূপে zsh শেলের মধ্যে ওয়াইল্ডকার্ড সম্প্রসারণ সক্ষম হয় না। কিভাবে বাশ এবং zsh এ ওয়াইল্ডকার্ড সম্প্রসারণ ব্যবহার করা যায় তা এই নিবন্ধের এই অংশে দেখানো হয়েছে।

বাশ

ধরুন, আপনাকে 'ইকো' কমান্ড ব্যবহার করে বর্তমান অবস্থানের এক্সটেনশন 'লগ' সহ সমস্ত ফাইল খুঁজে বের করতে হবে। এখানে, মান, ' *.log ’ ভেরিয়েবলের জন্য নির্ধারিত হয়, নথি পত্র যা সব লগ ফাইলের তালিকা প্রদর্শন করতে 'ইকো' কমান্ডে ব্যবহৃত হয়।

$ls
$নথি পত্র='*.log'
$বের করে দিল $ ফাইল

Zsh

যদি আপনি zsh শেলের উপরোক্ত কমান্ডগুলি চালান তাহলে লগ ফাইল তালিকার পরিবর্তে $ ফাইলের মান মুদ্রিত হবে কারণ zsh শেলের জন্য ওয়াইল্ডকার্ড সম্প্রসারণ ডিফল্টরূপে সক্ষম করা হয় না।

% ls
% ফাইল='*.log'
% বের করে দিল $ ফাইল

Zsh এর জন্য ওয়াইল্ডকার্ড সম্প্রসারণ সক্ষম করতে নিম্নলিখিত কমান্ডটি চালান।

% সেট -অথবাGLOB_SUBST

এখন, যদি আপনি আগের কমান্ডগুলি চালান তাহলে লগ ফাইলের তালিকা প্রদর্শিত হবে।

উপসংহার

বাশ এবং জেডএসএইচ লিনাক্স ব্যবহারকারীদের জন্য খুব দরকারী শেল। উভয় শেলেরই কিছু দরকারী বৈশিষ্ট্য রয়েছে। ব্যবহারকারী প্রয়োজনীয় কাজের উপর ভিত্তি করে শেল নির্বাচন করতে পারেন। এই দুটি শেলের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য যথাযথ উদাহরণ ব্যবহার করে এই নিবন্ধে বর্ণিত হয়েছে। আশা করি, এই নিবন্ধটি পড়ার পর পাঠকদের জন্য এই দুটি খোলসের মধ্যে পার্থক্য পরিষ্কার হয়ে যাবে