मेरे पास जुड़वां लिनक्स सर्वर हैं, जिन्हें पहचान योग्य रूप से कॉन्फ़िगर किया जाना चाहिए, हालांकि उनमें से एक के लिए ssh कमांड उन कमांड के लिए असफल हो रहे हैं जिन्हें ~ / .bashrc में निर्दिष्ट पथ की आवश्यकता होती है। उदाहरण के लिए, मैं एक कमांड का उपयोग pwd
अंतःक्रियात्मक रूप से और ssh दोनों के माध्यम से कर सकता हूं , लेकिन अगर मैं एक प्रोग्राम को चलाने की कोशिश करता हूं जो एप्लिकेशन बिन फ़ोल्डर में स्थित है, तो यह केवल एक सर्वर के लिए एक इंटरैक्टिव शेल में काम करता है।
दोनों सर्वरों पर / etc / प्रोफ़ाइल और / etc / पर्यावरण फ़ाइल समान हैं, हालाँकि $ BASH_ENV को ठीक से काम कर रहे सर्वर पर ~ / .bashrc पर सेट किया गया है। मैं उस सर्वर पर $ BASH_ENV सेट करना चाहता हूं जो काम नहीं कर रहा है, लेकिन मैं इसे उसी स्थान पर सेट करना पसंद करूंगा, जहां यह कार्यशील सर्वर में सेट है। वे कौन से स्थान हैं जो लिनक्स एक गैर-संवादात्मक लॉगिन के समय चलेंगे, जैसे कि दूसरे कंप्यूटर से ssh कमांड?
संपादित करें: उपयोगकर्ता के लिए लाइन / in / etc / passwd दोनों सर्वरों पर / बिन / बैश निर्दिष्ट करता है। दोनों सर्वरों के लिए ~ / .bash_profile फ़ाइल समान है, और इसमें सम्मिलित है if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
। सिस्टम के बीच एकमात्र अंतर यह है कि $ BASH_ENV सर्वर पर एक अशक्त स्ट्रिंग है जो काम नहीं कर रहा है, और मुझे नहीं मिल सकता है कि यह उस सर्वर में सेट किया गया है जहां यह काम कर रहा है।
2 संपादित करें: दोनों सर्वरों पर ~ / .ssh / पर्यावरण फ़ाइल में BASH_ENV = ~ / .bashrc है
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi