কেন এটি উত্স হবে? আপনি সত্য চালাচ্ছেন না bash
:
$ echo $SHELL
/bin/sh
বেশিরভাগ আধুনিক সিস্টেমে sh
হ'ল একটি বেসিক শেলের একটি সিমিলিংক। উদাহরণস্বরূপ আমার ডেবিয়ানে:
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Aug 1 2012 /bin/sh -> dash
আপনার ক্ষেত্রে sh
এটির একটি লিঙ্ক bash
তবে এতে বর্ণিত হয়েছে man bash
:
যদি শ নামের সাথে বাশটি প্রেরণ করা হয় তবে এটি পসিক্স স্ট্যান্ডার্ডের সাথে সামঞ্জস্য রেখে যতটা সম্ভব নিবিড়ভাবে ofতিহাসিক সংস্করণের শুরুর আচরণটি নকল করার চেষ্টা করে। [...] sh নামের সাথে একটি ইন্টারেক্টিভ শেল হিসাবে আহ্বান করা হলে, ব্যাশ ভেরিয়েবল ENV সন্ধান করে, সংজ্ঞায়িত হলে এর মান প্রসারিত করে এবং পড়তে এবং সম্পাদন করতে ফাইলের নাম হিসাবে প্রসারিত মান ব্যবহার করে। যেহেতু sh হিসাবে আহ্বান করা একটি শেল অন্য কোনও স্টার্টআপ ফাইল থেকে কমান্ডগুলি পড়তে এবং চালিত করার চেষ্টা করে না , --rcfile বিকল্পের কোনও প্রভাব নেই।
এবং
--norc
শেলটি ইন্টারেক্টিভ থাকলে সিস্টেম ওয়াইড ইনিশিয়ালেশন ফাইল /etc/bash.bashrc এবং ব্যক্তিগত প্রারম্ভিকরণ ফাইল b / .bashrc পড়ুন এবং চালিত করবেন না। শেলটি sh হিসাবে চিহ্নিত করা হলে এই বিকল্পটি ডিফল্টরূপে চালু থাকে।
সুতরাং, যেহেতু আপনার ডিফল্ট শেলটি sh
, .bashrc
তাই এটি পড়েনি। ব্যাশ ব্যবহার করে কেবল আপনার ডিফল্ট শেলটি সেট করুন chsh -s /bin/bash
।
/bin/sh
ইশারা করা থেকে এটি কোনও বিষয় নয়/bin/bash
। আমি মনে করি এই সমস্যাটি/bin/bash
যখন আমি প্রাথমিকভাবে অ্যাকাউন্ট তৈরি করেছি তখন স্পষ্টরূপে শেলটি বরাদ্দ না করেই এই সমস্যাটির উদ্ভব হয়েছিল ।