ये ~/.profile
मेरे 13.10 के साथ आए स्टॉक की सामग्री हैं (टिप्पणी की गई लाइनें हटा दी गई हैं):
if [ -n "$BASH_VERSION" ]; then
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
यह डेबियन से विरासत में मिला है लेकिन कैन्येल ने इसे रखने का फैसला क्यों किया? जहाँ तक मुझे पता है, यह मानक * निक्स तरीका नहीं है और मैंने विभिन्न प्रणालियों को देखा है जहाँ ऐसा नहीं हुआ है, इसलिए मुझे लगता है कि उनके पास एक अच्छा कारण रहा होगा। लॉगिन गोले चलाते समय यह अप्रत्याशित व्यवहार का कारण बन सकता है (जैसे कि उदाहरण के लिए मशीन में sshing) जहां उपयोगकर्ता को खट्टा होने की उम्मीद नहीं होगी ~/.bashrc
।
एकमात्र लाभ जो मैं सोच सकता हूं, वह उपयोगकर्ता को कई स्टार्टअप फ़ाइलों के साथ भ्रमित नहीं करना है और उन्हें .bashrc
अकेले संपादित करने की अनुमति देता है और शेल प्रकार की परवाह किए बिना पढ़ा है। हालाँकि, यह एक संदिग्ध लाभ है क्योंकि यह अक्सर लॉगिन के लिए और इंटरैक्टिव गोले के लिए अलग-अलग सेटिंग्स के लिए उपयोगी होता है और यह आपको ऐसा करने से रोकता है। इसके अलावा, लॉगिन शैल बहुत बार ग्राफ़िकल वातावरण में नहीं चलते हैं और जो उन फ़ाइलों में आपके द्वारा सेट किए गए त्रुटियों और चेतावनियों और समस्याओं (ओह माय!) पर निर्भर कर सकते हैं।
तो उबंटू ऐसा क्यों करता है, मुझे क्या याद आ रहा है?
.profile
स्रोत क्यों है .bashrc
, यह सभी लिनक्स संस्करणों में ऐसा नहीं है और मैं सोच रहा हूं कि इसके पीछे तर्क क्या है।
-n "$BASH_VERSION"
बैश के बाहर सच क्यों होगा ?