"/ Etc / passwd फ़ाइल को पढ़कर / बिन / लॉगिन का उपयोग करके, एक सफल लॉगिन के बाद एक इंटरेक्टिव लॉगिन शेल शुरू किया गया है। यह शेल इनवोकेशन आम तौर पर / etc / प्रोफाइल और इसके निजी समकक्ष ~ / .bash_profile पर स्टार्टअप पर पढ़ता है।
एक इंटरएक्टिव नॉन-लॉगिन शेल आमतौर पर शेल प्रोग्राम (जैसे, [प्रॉम्प्ट] $ / बिन / बैश) या / bin / su कमांड का उपयोग करके कमांड-लाइन पर शुरू किया जाता है। एक इंटरैक्टिव नॉन-लॉगिन शेल भी टर्मिनल प्रोग्राम के साथ शुरू होता है जैसे कि ग्राफिकल वातावरण में xterm या konsole। इस प्रकार के शेल इनवोकेशन आम तौर पर मूल वातावरण को कॉपी करते हैं और फिर अतिरिक्त स्टार्टअप कॉन्फ़िगरेशन निर्देशों के लिए उपयोगकर्ता की ~ / .bashrc फ़ाइल पढ़ते हैं। "
http://www.linuxfromscratch.org/blfs/view/6.3/postlfs/profile.html
इसलिए मैं पर्यावरण चर को bashrc में नहीं डालूंगा, क्योंकि यह न केवल आम सम्मेलन के खिलाफ है, बल्कि आप एक ग्राफिक डेस्कटॉप वातावरण से टर्मिनल का आह्वान करते समय अपने bashrc संस्करण भी याद करेंगे।
रेडहैट पर /etc/profile
मुझे यह टिप्पणी मिली:
"सिस्टम विस्तृत उपनाम और फ़ंक्शन / etc / bashrc में जाना चाहिए। व्यक्तिगत पर्यावरण चर और स्टार्टअप प्रोग्राम ~ / .bash_profile में जाना चाहिए। व्यक्तिगत उपनाम और फ़ंक्शन ~ / .bashrc में जाना चाहिए।"
इसलिए यदि आप उपयोगकर्ता आधार पर पर्यावरण चर सेट करना चाहते हैं, तो इसे उपयोगकर्ता .bash_profile फ़ाइल में करें।
.bash_profile
मैं पढ़ने के लिए शीर्षक :
"व्यक्तिगत पर्यावरण चर और स्टार्टअप कार्यक्रम।
व्यक्तिगत उपनाम और कार्य ~ / .bashrc में जाना चाहिए। सिस्टम विस्तृत पर्यावरण चर और स्टार्टअप कार्यक्रम / etc / प्रोफाइल में हैं। सिस्टम वाइड एलियासेस और फ़ंक्शंस / etc / bashrc में हैं। "
निष्कर्ष
यदि आप केवल प्रोग्राम को देखने के लिए रूट चाहते हैं, उदाहरण के लिए / sbin
मैं रूट को .bash_profile
फ़ाइल के रूट में जोड़ दूंगा । लेकिन अगर आप को देखने के लिए हर उपयोगकर्ता चाहता हूँ क्या जड़ विशिष्ट कार्यक्रमों अपने बॉक्स मैं डाल पर स्थापित कर रहे हैं /sbin
में /etc/.profile
। अब प्रत्येक उपयोगकर्ता रूट विशिष्ट कार्यक्रमों को देखने और यदि आवश्यक हो तो अधिकारों को बढ़ाने के लिए टैब पूरा करने का उपयोग कर सकता है।
विशेष मामला: SSH
जब ssh को कमांडलाइन के साथ शुरू किया जाता है, तो एक इंटरेक्टिव लॉगिन शेल शुरू किया जाता है। लेकिन इस मामले /etc/profile
में पढ़ा नहीं है। जब मैंने पर्यावरण चर .bash_profile
को प्रत्येक उपयोगकर्ता की फ़ाइल में परिभाषित किया, जो ssh के साथ काम करता था।
~/.profile
एक और वैध विकल्प भी है