यह क्यों स्रोत होगा? आप सही नहीं चल रहे हैं 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
:
यदि बैश को नाम श के साथ लगाया जाता है, तो यह पोस मानक के अनुरूप होने के साथ-साथ यथासंभव समीप के ऐतिहासिक संस्करणों के स्टार्टअप व्यवहार की नकल करने की कोशिश करता है। [...] जब नाम श के साथ एक इंटरैक्टिव शेल के रूप में आमंत्रित किया जाता है, तो bash वेरिएबल ENV की तलाश करता है, यदि परिभाषित किया गया है, तो इसका मान बढ़ाता है, और पढ़ने और निष्पादित करने के लिए फ़ाइल के नाम के रूप में विस्तारित मान का उपयोग करता है। चूँकि शेल शेल के रूप में किसी अन्य स्टार्टअप फाइल से कमांड को पढ़ने और निष्पादित करने का प्रयास नहीं करता है , इसलिए - आर्कफाइल विकल्प का कोई प्रभाव नहीं पड़ता है।
तथा
--norc
शेल को संवादात्मक होने पर सिस्टम इनिशियलाइज़ेशन फ़ाइल /etc/bash.bashrc और व्यक्तिगत इनिशियलाइज़ेशन फ़ाइल ~ / .bashrc पर पढ़ें और निष्पादित न करें। यह विकल्प डिफ़ॉल्ट रूप से चालू है यदि शेल को श के रूप में लागू किया गया है।
इसलिए, चूंकि आपका डिफ़ॉल्ट शेल है sh
, .bashrc
पढ़ा नहीं जाता है। बस का उपयोग करने के लिए अपने डिफ़ॉल्ट खोल सेट करें chsh -s /bin/bash
।
/bin/sh
की/bin/bash
। मुझे लगता है कि/bin/bash
जब मैंने मूल रूप से उपयोगकर्ता खाता बनाया है, तो शेल को स्पष्ट रूप से निर्दिष्ट नहीं करने से उपजी यह समस्या ।