@ আপগ্রেড সমস্যার সাথে সম্পর্কিত [এমকিলেটমেন্ট0] পোস্ট করেছেন দুর্দান্ত ব্যাখ্যা এবং সমাধানের জন্য এখানে দেখুন bash।
আমার সিস্টেমে বিপরীতে কাজ করার ক্ষেত্রে আমার একই সমস্যা ছিল (ওএস এক্স 10.10.1): bashআমি ইনস্টল করার পরে আবার ডিফল্ট লগইন শেল oh-my-zshতৈরি করা , যা zshডিফল্ট তৈরি হয়েছিল এবং তারপরে bashহোমব্রিউ ব্যবহার করে 3.2.53 থেকে 4.3.30 এ আপগ্রেড করা হয়েছে ( কেন পুরানো bashসংস্করণ সহ অ্যাপল শিপিং ইয়োসেমাইট ?) সংস্করণ।
আমি মনে করি SHELLপরিবেশ পরিবর্তনশীল প্রতিফলিত করে তবে ব্যবহারকারীর জন্য প্রকৃত ডিফল্ট লগইন শেলটি নিয়ন্ত্রণ করে না । উদাহরণস্বরূপ, যদি, বলুন, bashআপনার ডিফল্ট ছিল এবং আপনি bashটার্মিনাল থেকে একটি নতুন শেল উইন্ডো খুলেন তবে প্রদর্শিত $ export SHELL="/bin/zsh"; echo "$SHELL"হবে /bin/zshতবে প্রকৃত কোনও পরিবর্তন ঘটবে না কারণ আপনি যদি টার্মিনাল থেকে একটি নতুন শেল উইন্ডো খোলেন এবং এটি করেন $ echo $0তবে আপনি দেখতে পাবেন -bash( $0নাম এবং পথ রয়েছে এই ক্ষেত্রে শেল উইন্ডো শুরু হওয়া কমান্ডের bashএবং- পরবর্তীটি এটি লগইন শেল বলে ইঙ্গিত দেয়)।
@ এমকিলেটমেন্ট ০ ইঙ্গিত করে যে ব্যবহারকারীর জন্য প্রকৃত ডিফল্ট লগইন শেলটি UserShellসিস্টেমের অভ্যন্তরীণ ডাটাবেসে ব্যবহারকারীর রেকর্ডে থাকা সম্পত্তি দ্বারা নিয়ন্ত্রিত হয় - এটি কমান্ড লাইন ইউটিলিটি ব্যবহার করে অনুসন্ধান করা এবং আপডেট করা যেতে পারেdscl । আপনি যখন শেল উইন্ডো খুলবেন তখন এই তথ্যটি আপনার টার্মিনাল অ্যাপ্লিকেশনটিতে চলে যাবে।
chsh -s /bin/zshএই UserShellসম্পত্তিটি সেট করতে কী পরিবর্তন হয় zsh- আপনি ততক্ষনে তা করে এটি পরীক্ষা করতে পারেন dscl . -read /Users/$USER/ UserShellএবং আপনি দেখতে পাবেন UserShell: /bin/zsh। কিন্তু পরিবর্তন হয় না বর্তমান উইন্ডোতে প্রভাবিত, যতক্ষণ না আপনি ভালো কিছু করতেexec su - $USER , অথবা আপনি ঘনিষ্ঠ পর্যন্ত এবং একটি শেল উইন্ডো খুলতে যেমন @ mklement0 দ্বারা প্রস্তাবিত।
/etc/shells? ম্যানুয়ালটিতে উল্লেখ করা হয়েছে যে আপনি যে শেলটি নির্দিষ্ট করেছেন সেটি যদি সেই ফাইলে না থাকে তবে এটি স্ট্যান্ডার্ড শেল হিসাবে বিবেচিত হবে না।