मुझे हर बार टर्मिनल खोलने के लिए ~ / .bash_login क्यों करना पड़ता है


4

जब भी मैं टर्मिनल बंद करता हूं और टर्मिनल खोलता हूं, तो यह कभी भी मेरे ~ / .bash_profile को लोड नहीं करता है। मेरे पास फ़ाइल के शीर्ष पर मेरा आरवीएम सेटअप है लेकिन यह इसे कभी भी लोड नहीं करता है।

जैसा कि आप देख सकते हैं, जब मैं टाइप करता हूं rvm टर्मिनल में, यह कहते हैं command not found यह एक दर्द है क्योंकि मुझे दौड़ना है source ~/.bash_login हर बार मैं टर्मिनल खोलता हूं।

rvm command not found

क्या सिर्फ मुझे ही यह समस्या है? मैं क्या गलत कर रहा हूं?


जिज्ञासा से बाहर, 'स्टार्टअप' टैब के तहत आपकी टर्मिनल प्राथमिकताएं खिड़की की तरह क्या दिखती हैं?
Jason Salaz

वे यह दिखाते हैं: i.qyk.in/loD8A.png
Dean Perry

1
बैश मैन पेज पर विचार करते हुए अजीब: When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior. और वह / usr / बिन / लॉगिन सेटिंग आत्म-व्याख्यात्मक है ...
Jason Salaz

3
"यह मेरे ~ / .bash_profile को कभी भी लोड नहीं करता है" "मुझे दौड़ना होगा source ~/.bash_login "कौन सा है? क्या आप ~ / .bash_profile या ~ / .bash_login का उपयोग कर रहे हैं? उनमें से केवल एक ही चलाया जाएगा।
Chris Page

जवाबों:


2

क्या यह होना चाहिए .bash_login? इसका नाम बदलने का प्रयास करें .profile


या .bash_profile - जो काम करता है
Rene Larsen

नाम बदलने जैसा लगता है .profile काम किया। धन्यवाद
Dean Perry

यह बहुत ही आश्चर्यजनक है। ~ / .bash_login बस के रूप में अच्छी तरह से काम करना चाहिए ~ / .bash_profile। इससे मेरा काम बनता है। आप एक डाल सकते हैं echo .bash_login ~ / .bash_login की शुरुआत में यह देखने के लिए कि क्या यह चलता है। यदि आपके पास भी ~ / .bash_profile है, तो बेशक, इसे नहीं चलाया जाएगा।
Chris Page

2

बैश केवल पढ़ता है .bash_login फ़ाइल यदि यह एक लॉगिन शेल के रूप में शुरू हुई है (पारित हो गई थी --login झंडा)। इसका नाम बदलने का प्रयास करें .bashrc इसके बजाय, जिसका मूल्यांकन कब किया जाता है bash बिना एक इंटरैक्टिव शेल के रूप में आमंत्रित किया गया था --login झंडा।


मैंने .bashrc की कोशिश की है, लेकिन यह वही करता है
Dean Perry

3
लायन से पहले, टर्मिनल लॉगिन शेल बनाता है जब तक कि आप एक कस्टम कमांड प्रदान नहीं करते हैं प्राथमिकताएँ & gt; चालू होना या प्राथमिकताएँ & gt; सेटिंग्स & gt; [प्रोफ़ाइल] & gt; खोल । Mac OS X Lion 10.7 के रूप में, टर्मिनल हमेशा कस्टम कमांड के लिए, भले ही वे / etc / गोले में सूचीबद्ध हों, लॉगिन गोले बनाते हैं।
Chris Page

1

सुनिश्चित करें कि आपकी .bash_login स्क्रिप्ट में सापेक्ष पथ शामिल नहीं हैं

स्रोत

में बदलो

source ~ / .प्रोफाइल

सिंह निर्देशिका को आपके वर्तमान टैब या जहां आपका अंतिम सत्र है, बदल देता है, इसलिए सभी रास्तों को अब निरपेक्ष होना चाहिए।


1

मेरे लिए लॉयन में बैश ~ / .profile लोड नहीं करता है।

जोड़ा जा रहा है source ~/.profile शेल वरीयताओं में स्टार्टअप पर चलने के लिए मदद की, लेकिन काफी अस्वाभाविक है।


लॉगिन शेल के निर्माण को दबाने के लिए कुछ करने के लिए सुनिश्चित करने के लिए अपनी प्राथमिकताओं की जाँच करें। में कुछ भी है टर्मिनल & gt; प्राथमिकताएँ & gt; सेटिंग्स & gt; [प्रोफ़ाइल] & gt; शेल & gt; चालू होना या टर्मिनल & gt; प्राथमिकताएँ & gt; स्टार्टअप & gt; के साथ गोले खुले अनुकूलित?
Chris Page

0

बदलते .bashrc से

source .bash_profile

सेवा मेरे

source ~/.bash_profile

मेरे लिए चाल चली।


2
मैं दूसरी दिशा में जाने की सलाह देता हूं: ~ ~ .bash_profile source ~ / .bashrc उन सभी सामानों को डालें जिन्हें आप लॉगिन करना चाहते हैं और गैर-लॉगिन गोले ~ / .bashrc में डाल सकते हैं। ~ / .bash_profile में केवल लॉगिन शेल के लिए कॉन्फ़िगरेशन कमांड होनी चाहिए।
Chris Page

0

मेरे मैकबुक पर सिएरा (मुझे उच्च सिएरा के बारे में पता नहीं है) पर डिफ़ॉल्ट व्यवहार लगता है कि टर्मिनल चलेगा .bash_profile लॉगिन पर।

केवल .bash_profile अस्तित्व में नहीं है टर्मिनल जाएगा और चला जाएगा .bash_login बजाय।

यह सुनिश्चित करने के लिए जांचें कि आपके पास खाली नहीं है .bash_profile अपने घर निर्देशिका में चारों ओर बैठे। यदि आप करते हैं, तो इसे हटा दें और फिर से लॉगिन करें; तब आपको टर्मिनल को अपने चलाना चाहिए .bash_login

(अनुभवजन्य: मेरा मैकबुक न तो खुलता है और न ही चलता है .profile या .bashrc। लेकिन वास्तव में, मैं अपने को अक्षम कर सकता हूं .bash_login चलाकर touch ~/.bash_profile, और इसे चालू करके कार्य क्रम में पुनर्स्थापित करें rm ~/.bash_profile।)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.