Bash এবং Zsh দুটি জনপ্রিয় লিনাক্স শেল। এই গাইড তাদের পক্ষ-বিপক্ষ এক্সপ্লোর করে যাতে আপনি ডিসাইড করতে পারেন কোনটি ব্যবহার করা সেরা।
শেল কী?
একটি শেল হলো কমান্ডলাইন ইউজার ইন্টারফেস যা আপনি আপনার কম্পিউটারের সাথে ইন্টারঅ্যাক্ট করার জন্য ব্যবহার করেন।
এটি টেক্সট ইনপুট এবং আউটপुट প্রদান করে যা আপনাকে আপনার কম্পিউটার সিস্টেমে ইনস্ট্রাকশন দিতে এবং ইনফরমেশন পেতে দেয়।
শেল অন্যান্য ইউটিলিটিও কভার করে, যেমন টাস্ক অটোমেশনের জন্য স্ক্রিপ্টিং এবং ফাইলসিস্টেম দ্রুত নেভিগেট করার জন্য অটোকম্প্লিট যেন ইজ-অফ-ইউজ টুল।
Bash এবং Zsh উভয়ই শেল। এগুলোকে 'শেল' বলা হয় কারণ অপারেটিং সিস্টেমের কোর, কার্নেল-এর বাইরে এগুলো আস্তিত্বে থাকে।
BASH কী?
Bash (শর্ট ফর "Bourne Again SHell") ১৯৮০-এর দশকের শেষে রিলিজ হয়েছিল Bourne Shell-এর রিপ্লেসমেন্ট হিসেবে, যা ১৯৭০ের দশকে রিলিজ হয়েছিল।
Bourne shell নিজে Thompson shell-কে রিপ্লেস করেছিল, প্রথম Unix shell যা ১৯৭১-এ ডেট করত।
Bash লক্ষ্য ছিল একটি সম্পূর্ণ ফ্রি শেল দেওয়া যেটা এক্সিস্টিং শেল স্ক্রিপ্টের সাথে কম্প্যাটিবল। এটি দ্রুত জনপ্রিয় হয়ে লিনাক্স অপারেটিং সিস্টেমের ডিফল্ট শেল বنى, এবং পরে অ্যাপল OS X সিরিজে ও।
Bash-এর কিছু Notable ফিচার:
- কমান্ডলাইন কমপ্লিশন (ট্যাব চাপলে ফাইল পাথ অটো-ফিল হয়, টাইপ করতে হয় না)
- এক্সটার্নাল সফটওয়্যার ছাড়া ক্যালকুলেশন করতে পারে।
- কমান্ড আউটপুট সহজে রিডাইরেক্ট করা যায়।
- কমান্ডে রেগুলার এক্সপ্রেশন ব্যবহার করা যায়।
- স্টার্টআপে স্ক্রিপ্ট রান করে এনভায়রনমেন্ট কাস্টোমাইজ করা যায়
ZSH কী?
Zsh ("Z Shell") Bourne shell-এর এক্সটেন্ডেড ভার্সন, Bash শেলের অনেক ইমপ্রুভমেন্ট এবং ফিচারসহ।
Zsh প্লাগইন এবং থিম সাপোর্ট করে, এবং এক্সটেন্ডেড ফিচারগুলো Bash-এর চেয়ে বড় ইমপ্রুভমেন্ট হিসেবে বিবেচিত।
Zsh-এর বর্ধমান জনপ্রিয়তার সবচেয়ে বড় ইন্ডিকেটর - অ্যাপল তাদের MacOS অপারেটিং সিস্টেমে এটিকে ডিফল্ট করে দিয়েছে, একটি সিদ্ধান্ত যা হয়তো হালকায় নেওয়া হয়নি।
Bash-এর চেয়ে Zsh-এ কিছু Notable ইমপ্রুভমেন্ট:
- প্লাগইন এবং থিম!
- ওভারলে, কালার স্কিম দিয়ে Zsh কাস্টোমাইজ করুন - আপনার শেলকে টেইলর করুন আপনার প্রয়োজনীয় ইনফো প্রদানের জন্য
- oh my zsh! হলো Zsh-এর একটি প্লাগইন ফ্রেমওয়ার্ক যা অসংখ্য প্লাগইন দিয়ে কাজ করে প্রায় সব জিনিসের জন্য
- ফাইলসিস্টেম নেভিগেশনের জন্য ইমপ্রুভড কমান্ড - শুধু ডিরেক্টরি নাম বা লং পথের প্রতিটি ডিরেক্টরির প্রথম লেটার টাইপ করুন, Zsh অটোফিল করবে সেটার সেরা অনুমান দিয়ে
- পথ লিখতে টাইপো করলে নিকটস্থ ম্যাচিং ডিরেক্টরিতেই নিয়ে যাবে - এটি খুব ফরগিভিং
- ফ্লোটিং-পয়েন্ট নাম্বার সাপোর্ট!
- zmv কমান্ড বড় সংখ্যক ফাইল নিয়ে কাজ করা সহজ করে দেয়।
- এক্সটার্নাল সফটওয়্যার ছাড়া ফাইল স্পেসিফিকেশন
- নেমড ডিরেক্টরি - ~webdir মতো শর্টকাট সেটআপ করুন বরং আপনার ওয়েব ডিরেক্টরির পথ ম্যানুয়ালি টাইপ করার বা সফ্ট লিঙ্ক সেটআপ করার চেয়ে
ZSH vs. BASH
স্ক্রিপ্টের কী হবে?
Bash-এর চরম ও দীর্ঘমেয়াদী জনপ্রিয়তার কারণে, শেল স্ক্রিপ্টগুলো সাধারণত Bash Scripts হিসেবে রেফার করা হয়।
এক শেলের জন্য লেখা স্ক্রিপ্ট অন্য শেলে রান হওয়ার গ্যারান্টি নেই - ধন্যবাদ, Zsh অধিকাংশ এক্সিস্টিং Bash স্ক্রিপ্ট কম মডিফিকেশন দিয়ে রান করাতে পারে - যদিও আপনি সেগুলো Zsh-এ উপলব্ধ ইমপ্রুভড ফিচার ব্যবহার করার জন্য আপডেট করতে চাইতে পারেন।
আপনি যদি আপনার Bash স্ক্রিপ্টগুলো চালিয়ে যান, নিশ্চিত করুন যে আপনি নিচের লাইনটি আপনার Bash-এ লেখা স্ক্রিপ্টের শুরুতে রাখছেন:
#!/bin/bash
...যাতে আপনার সিস্টেম বুঝতে পারে সেগুলো Bash দিয়ে এক্সিকিউট করতে হবে, এমনকি আপনার ইন্টারঅ্যাক্টিভ শেল Zsh ডিফল্ট হিসেবে সেট থাকেও।
আমি কোনটি ব্যবহার করব?
আপনি যদি এমন এনভায়রনমেন্টে কাজ করেন যেখানে আপনি Bash-এর জন্য লেখা এক্সিস্টিং স্ক্রিপ্ট বা উদাহরণ রেফার করবেন, Bash-এর সাথে থাকুন। আপনি যদি নতুন জমি ভাঙেন এবং Zsh-এর এক্সট্রা ফিচার চান এবং স্ক্রিপ্টে যেকোনো কোড নতুন শেলের জন্য টুইক করার জন্য খুশি হন, Zsh ব্যবহার করুন।
আরও লিনাক্স টিপসের জন্য এই লিংকে ক্লিক করুন!