पहले अपने शेल की पहचान करें, जैसा कि एक अन्य उत्तर में बताया गया है कि यह केवल ps कमांड के माध्यम से किया जाता है ...
$ ps
PID TTY TIME CMD
3360 pts/2 00:00:00 bash
3702 pts/2 00:00:00 ps
यह सुनिश्चित करने के लिए कि कौन सी फाइलें पढ़ी जा रही हैं, आपको उस सिस्टम की जांच करने की आवश्यकता होगी जिसे आप लॉग इन कर रहे हैं। 'बैश' शेल में कई 'अगर' हैं तो 'वो' करें 'अन्यथा कुछ और करें' विकल्प। यहाँ क्या फ़ाइलें खट्टी हैं इसका पूरा विवरण देखने के लिए , लेकिन आमतौर पर सूची है ...
- / Etc / प्रोफ़ाइल
- $ HOME / .bash_profile
- $ HOME / .bashrc (यदि वह .bash_profile में कॉन्फ़िगर किया गया है)
- $ HOME / .bash_logout (लॉगआउट पर, लॉगिन नहीं)
बोर्न शेल ('श') के लिए यह आमतौर पर लॉग इन करते समय होता है
- / Etc / प्रोफ़ाइल
- $ HOME / .profile
मैं उन प्रणालियों पर क्या करना पसंद करता हूं जिनसे मैं अपरिचित हूं, किसी भी स्टार्ट अप फाइलों में एक पंक्ति है जो मैं पढ़ रहा हूं कि मानक आउटपुट एक टर्मिनल से जुड़ा हुआ है या नहीं, और यदि यह फ़ाइल नाम प्रदर्शित करता है, तो वह परीक्षण करने की उम्मीद कर रहा है। इस उदाहरण में मैं इसे .bash_profile फ़ाइल में उपयोग कर रहा हूँ।
[ -t 1 ] && echo "reading .bash_profile"
यह बैश या श (और साथ ही कुछ अन्य डेरिवेटिव) के लिए काम करता है। यह मदद करता है क्योंकि मुझे पता है कि क्या पढ़ा जा रहा है, कब, और अगर मुझे त्रुटियां मिल रही हैं, तो मुझे पता है कि वे किस फ़ाइल से आए हैं (पहले गूँजने वाले संदेश से पहले त्रुटियों को लॉगिन प्रक्रिया से, या सिस्टम से विस्तृत / आदि / प्रोफ़ाइल से संभव है।
यह भी मत भूलो कि आप हमेशा अपने खुद के bespoke start files बना सकते हैं और उन्हें एक फाइल में शामिल करके खुद को शामिल कर सकते हैं जो पहले से ही खटारा हो रहा है।