উত্তর:
chsh
ইউটিলিটিটি এর মতো ব্যবহার করুন :
chsh -s bash
উদাহরণস্বরূপ আপনি লিনাক্সে দেখতে চাইলে chsh
তুলনায় অ্যাপল ম্যাক ওএস এক্সে কিছুটা পরিবর্তন করেছে chsh
। আপনি chsh ম্যাক ওএস এক্স ম্যান পৃষ্ঠাতে তাদের পড়তে পারেন ।
মনে রাখবেন যে আপনাকে কেবল তালিকাভুক্ত শেলটিতে পরিবর্তন করার অনুমতি দেওয়া হবে /etc/shells
। এটি সাধারণত সূক্ষ্ম হয় তবে এর অর্থ হ'ল আপনি যদি বাশ 4 ইনস্টল করতে চান (হোমব্রিউ, ম্যাকপোর্টস থেকে বা নিজের সংকলন করুন), আপনাকে এতে একটি লাইন যুক্ত করতে হবে /etc/shells
। (কয়েক সপ্তাহ আগে আমি এটির মধ্যে দৌড়ে এসেছি এবং এটি বুঝতে পেরেছিলাম যে এটি অন্যকে জানতে সাহায্য করবে ...)
সম্পাদনা করুন : টিম স্মিথ উল্লেখ করেছেন যে আপনি /etc/shells
যদি chsh
রুট হিসাবে চালিয়ে যান তবে সীমাবদ্ধতাটি পেতে পারেন sudo
। যেমন sudo chsh -s /usr/local/bin/my_shell $USER
কাজ করবে, এমনকি যদি my_shell
তালিকাভুক্ত করা না থাকে /etc/shells
। আমি সম্পাদনা করতে পছন্দ করি /etc/shells
তবে শেষ পর্যন্ত, এটি যে sudo
কোনও একটিরই ব্যবহার কারণ আপনি /etc/shells
নিয়মিত ব্যবহারকারী হিসাবে সম্পাদনা করতে পারবেন না । সুতরাং সম্ভবত এক ছয়, অন্য অর্ধ ডজন।
/etc/shells
যদি না করতে হয় তবে কেন পরিবর্তন করবেন? বিচক্ষণতার জন্য, আমি সিস্টেম ফাইলগুলি একই রাখতে পছন্দ করি।
/etc/shells
সিস্টেমের এমন ফাইল যা স্বীকৃত শেলগুলি সংজ্ঞায়িত করে। আমি সেই ফাইলটি পরিবর্তন করেছি কারণ আমি স্বীকৃত শেলগুলির তালিকায় একটি শেল যুক্ত করতে চাই। আমার কাছে বেশ যুক্তিসঙ্গত বলে মনে হচ্ছে।
chsh: bash: non-standard shell
chsh
তালিকাভুক্ত না থাকা শেলটি ব্যবহার করার চেষ্টা করলে আপনি একা ব্যবহার করতে পারবেন না /etc/shells
।
/etc/shells
আমার কাছে অদ্ভুত বলে মনে হয় না।
ম্যাক ওএস এক্স জিইউআই ব্যবহার করে এটি করতে:
লক্ষণীয়, এই অবস্থানটি আপনি যেখানে টার্মিনালটি সম্পর্কে অস্বস্তিতে থাকলে আপনার হোম ডিরেক্টরি, ইউআইডি, ব্যবহারকারী আইডি, গ্রুপ আইডি এবং সংক্ষিপ্ত নাম পরিবর্তন করতে পারবেন। এখানেও একই ধরণের প্রশ্ন রয়েছে ।
উপরের উত্তরগুলি ব্যবহার করে আমি একটি ত্রুটি বার্তা পেয়েছিলাম:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
এটি প্রায় কাজ করতে:
sudo chsh -s zsh $(whoami)
whoami
একটি সাব-শেলের মধ্যে আপনার ব্যবহারকারীর জন্য শেল পরিবর্তন করা হয়, রুট নয়।
আপনি হোমব্রু ব্যবহার করছেন তবে আরও একটি জিনিস। আপনি যখন কমান্ডগুলি রুট হিসাবে ব্যবহার করেন (ব্যবহার করে sudo
), zsh / bin / zsh এ নির্দেশ করে, যা ওএসএক্সের সাথে আসে এবং এটি পুরানো হতে পারে। হোমব্রিউয়ের মাধ্যমে ইনস্টল করা সর্বশেষতম ব্যবহার করতে, নিম্নলিখিতটি ব্যবহার করুন:
sudo chsh -s $(which zsh) $(whoami)