ভার্সন 10.15 Catalina আপডেটের পর থেকে macOS-এ টার্মিনাল অ্যাপে Bash-এর বদলে Z shell (zsh) ডিফল্ট হিসেবে আছে। তবুও টার্মিনালে একই কালো উইন্ডো ও সাদা টেক্সট থাকে। এটাকে এভাবেই থাকতে হবে না।
আপনি zsh প্রম্পটকে মিনিমাল ও স্পেস-ইফিশিয়েন্ট বানাতে পারেন যেকোনো ব্যাকগ্রাউন্ডে আটকে থাকতে। আমরা দেখাব টার্মিনাল অ্যাপে zsh প্রম্পট কীভাবে কাস্টমাইজ করবেন যাতে এটি স্বতন্ত্রভাবে চমকে উঠে।
zsh প্রম্পটের বেসিকস
টার্মিনাল অ্যাপ চালু করলে এটি কিছু উপকারী ইনফরমেশন দেখায়, যেমন লাস্ট লগইন ও কমান্ড প্রম্পট। ডিফল্টভাবে প্রম্পট সাধারণত এমন দেখায়:
Last login: Wed Feb 3 22:00:40 on console
samir@MacBook-Air ~ %
zsh প্রম্পট আপনার ইউজারনেম ও কম্পিউটারের মডেল নাম (MacBook Air, MacBook Pro, Mac Mini ইত্যাদি) দিয়ে একটি টেক্সট স্ট্রিং দেখায়। টিলডা (~) ইঙ্গিত দেয় প্রম্পট হোম ডিরেক্টরিতে অবস্থিত।
সেটিংস স্টোর করার জন্য Z Shell প্রোফাইল তৈরি করুন
সাধারণত ডিফল্ট লুক পরিবর্তন করতে সিস্টেম ফাইল ঠিক করতে হয়। কারণ macOS আপডেট সিস্টেম ফাইলগুলো ডিফল্টে রিসেট করে দেয়, ফলে আপনার সকল পরিবর্তন হারিয়ে যায়।
তাই আপনি একটি নির্দিষ্ট সেটিংস ফাইল, যাকে ডটফাইল বলে, আপনার zsh প্রোফাইলের জন্য তৈরি করতে পারেন যাতে zsh প্রম্পটের সব চেঞ্জ ও সেটিংস স্টোর থাকে।
macOS-এ ডিফল্টভাবে এই ডটফাইল পাওয়া যায় না, তাই আপনাকে একটা বানাতে হবে। নতুন .zshrc প্রোফাইল তৈরি করা রিকমেন্ডেড যাতে zsh প্রম্পটের লুক ও বিহেবিয়র সংক্রান্ত সকল সেটিংস থাকে।
zsh প্রোফাইল (ডটফাইল) তৈরির পদ্ধতি:
1. Terminal অ্যাপ খুলুন।
2. নিচের কমান্ড টাইপ করে রিটার্ন কী চাপুন।
touch ~/.zshrc
এটি আপনার ইউজার অ্যাকাউন্টের হোম ডিরেক্টরিতে .zshrc প্রোফাইল তৈরি করবে। হিডেন সিস্টেম ফাইল ভিউইন ইনেবল থাকলে ফাইন্ডারে /User/<username>/ পাথে এটি দেখতে পাবেন।
এরপর থেকে টার্মিনাল চালু করার প্রতিবার লগইন ও ইন্টারেক্টিভ শেলের জন্য zsh প্রোফাইল উপলব্ধ থাকবে। কিন্তু SSH সেশনে এটি এক্টিভ থাকবে না।
zsh প্রম্পটে আপনার সকল পছন্দমতো পরিবর্তন এই প্রোফাইলে যোগ করা যাবে।
টার্মিনালে zsh প্রম্পট কাস্টমাইজ করুন
সাধারণত ডিফল্ট zsh প্রম্পট ইউজারনেম, মেশিন নাম, এবং হোম ডিরেক্টরি থেকে শুরুর লোকেশন নিয়ে তথ্য ধারণ করে। এই ডিটেইলগুলো zsh শেলের সিস্টেম ফাইলে /etc/zshrc লোকেশনে থাকে।
PS1="%n@%m %1~ %#"
এই ভেরিয়েবল স্ট্রিং-এ:
- %n হলো আপনার অ্যাকাউন্টের ইউজারনেম।
- %m হলো ম্যাকবুকের মডেল নাম।
- %1~ সিম্বল বোঝায় কারেন্ট ওয়ার্কিং ডিরেক্টরি পাথ, যেখানে ~ $HOME ডিরেক্টরি লোকেশন স্ট্রিপ করে।
- %# মানে শেল রুট (অ্যাডমিনিস্ট্রেটর) প্রিভিলেজ দিয়ে চলে তবে # দেখাবে, নাহলে % দেখাবে।
ডিফল্ট zsh প্রম্পটে যেকোনো পরিবর্তন আনতে প্রম্পটকে আলাদা দেখানোর জন্য প্রাসঙ্গিক ভ্যালু যোগ করতে হবে।
পদ্ধতিটি নিচে: Terminal খুলুন, নিচের কমান্ড টাইপ করে এন্টার চাপুন।
nano ~/.zshrc
প্রথমবার অ্যাক্সেস করলে এটি ব্ল্যাঙ্ক থাকবে। PROMPT='...' লিখে একটি নতুন লাইন যোগ করুন এবং এর ওপর ভ্যালুগুলো দিন।
zsh প্রম্পটে সিম্পল মডিফিকেশনের জন্য .zshrc প্রোফাইলে নিচের ভ্যালুগুলো টাইপ করুন:
PROMPT='%n~$'
Ctrl + O চাপিয়ে ফাইলে চেঞ্জ কনফার্ম করুন, তারপর Ctrl + X চাপিয়ে nano এডিটর থেকে বের হোন।
নতুন Terminal উইন্ডো খুলে আপনার করা চেঞ্জগুলো কনফার্ম ও ভিউ করুন। আপনার নতুন zsh প্রম্পট আপনার ম্যাকের ইউজারনেম, হোম ডিরেক্টরি, এবং শেষে $ সিম্বল দেখাবে।
zsh প্রম্পটে ডেট ও টাইম যোগ করুন
ইউজারনেমের পাশাপাশি কারেন্ট ডেট বা টাইম অ্যাপেন্ড করলে একটিভ টার্মিনাল উইন্ডো থেকে দূরে না চাইলে ডেট/টাইম জানা যাবে।
টার্মিনাল চালু করুন .zshrc প্রোফাইল খুলুন।
nano ~/.zshrc
প্রম্পটে ডেট যোগ করতে %D ব্যবহার করুন yy-mm-dd ফরম্যাটের জন্য, অথবা %W ব্যবহার করুন mm/dd/yy ফরম্যাটের জন্য। নতুন প্রম্পট এমন দেখাবে:
PROMPT='%n:%W:~$'
সিস্টেম টাইম প্রম্পটে যোগ করতে %T ব্যবহার করুন ২৪-ঘন্টার ফরম্যাটের জন্য, %t ব্যবহার করুন am/pm বা ১২-ঘন্টার ফরম্যাটের জন্য, অথবা %* ব্যবহার করুন ২৪-ঘন্টা ফরম্যাটে সেকেন্ডসহ টাইমের জন্য।
PROMPT='%n:%T:~$'
zsh প্রম্পটের টেক্সটে কালার যোগ করুন
zsh প্রম্পটের সাদা টেক্সটে বিরক্ত হলে? টার্মিনাল অ্যাপ কালার দিয়ে মডিফাই করার পাশাপাশি প্রম্পট টেক্সটেও কালার দিয়ে ভিজুয়াল ব্রেক আনা যায়।
Terminal চালু করুন .zshrc প্রোফাইল খুলুন।
nano ~/.zshrc
zsh প্রম্পট টেক্সটে কালার ও গ্রে শেড সাপোর্ট করে যাতে ব্যাকগ্রাউন্ডের সাথে কমপ্লিমেন্ট করে। ফোরগ্রাউন্ড (টেক্সট) কালার হিসেবে ব্ল্যাক, হোয়াইট, ইয়েলো, গ্রীন, রেড, ব্লু, সায়ান, ম젠টা—এইগুলো থেকে বেছে নেওয়া যায়।
ব্যবহার পদ্ধতি:
PROMPT='%F{cyan}%n%f:~$'
নির্দিষ্ট শেড পছন্দ হলে টার্মিনাল সাপোর্ট করা ০ থেকে ২৫৬ ৮-বিট কালারের न्यूमেরিক্যাল ভ্যালু ব্যবহার করুন। পদ্ধতি:
PROMPT='%F{51}%n%f:~$'
রিলেভেন্ট টেক্সট যা কালার করতে চান তার চারদিকে %F ও %f ডিফল্ট ফোরগ্রাউন্ড কালার ভেরিয়েবল রাখুন।
zsh প্রম্পটে ভিজুয়াল ইফেক্ট যোগ করুন
প্রম্পট টেক্সট কালার করলে চলে না হলে, zsh প্রম্পট হাইলাইট করুন যাতে টেক্সটের ভিড়ে এটি আলাদা চমকে ওঠে এবং সহজে স্পট করা যায়। প্রথমে zsh প্রম্পট বোল্ড করুন।
PROMPT='%B%F{51}%n%f%b:~$'
রিলেভেন্ট টেক্সটের শুরুতে %B এবং শেষে %b রাখলে টেক্সট বোল্ড হবে।
এভাবেই শুরুতে %S এবং শেষে %s রাখলে টেক্সট হাইলাইট হবে। হাইলাইটের কালার %S ও %s ভেরিয়েবলের মাঝপথে চয়ন করা কালারের মত হবে।
PROMPT='%S%F{51}%n%f%s:~$'
zsh প্রম্পটের টেক্সট আন্ডারলাইনও করা যায়। আন্ডারলাইন অ্যাপেন্ড করতে রিলেভেন্ট টেক্সটের শুরুতে %U এবং শেষে %u ভেরিয়েবল যোগ করুন।
PROMPT='%U%F{51}%n%f%u:~$'
zsh প্রম্পট থেকে লাস্ট লগইন ডিটেইল সরান
টার্মিনাল অ্যাপে উপরের লাইনটি (লাস্ট লগইন টাইম) হাইড বা ডিজেবল করলে zsh প্রম্পট আরও ক্লিন দেখাবে। নিচের কমান্ড দিয়ে তা হাইড করা যায়:
touch ~/.hushlogin
পরবর্তীবার টার্মিনাল খুললে zsh প্রম্পটের উপরে কিছুই দেখাবে না।
টার্মিনালে zsh প্রম্পট সাজিয়ে নিন
আপনি যদি কখনো কখনো টার্মিনাল অ্যাপ ব্যবহার করেন, তবুও zsh প্রম্পট কীভাবে দেখাবে সেটি টুইক করতে পারেন। বোল্ড, আন্ডারলাইন, শর্টেন, ডেট-টাইম ইনক্লুড—সব কিছু সম্ভব।
এখন zsh প্রম্পট কাস্টমাইজ শুরু করলেন, একটু এক্সপেরিমেন্ট করে নিজের মত করে বানান।