जवाबों:
बैश स्रोत EITHER .bash_profile या .bashrc पर निर्भर करता है कि इसे कैसे कहा जाता है। यदि यह एक लॉगिन शेल है, तो बैश उस क्रम में ~ / .bash_profile, ~ / .bash_login, या ~ / .profile की तलाश करता है, और सूत्रों का कहना है कि पहला (इसे और केवल एक) मिल रहा है। यदि यह एक लॉगिन शेल नहीं है, लेकिन इंटरेक्टिव है (अधिकांश टर्मिनल सत्रों की तरह), बैश स्रोत ~ / .bashrc होगा।
इसी तरह, iTerm ~ / .bashrc की तलाश में है। यदि इसे लॉगिन शेल के रूप में शुरू करने के लिए कॉन्फ़िगर किया गया है, तो यह ~ / .bash_profile के लिए दिखेगा। यह लगभग निश्चित रूप से विन्यास फाइल के भीतर एक त्रुटि है बजाय इसके कि शेल इसे सोर्स नहीं कर रहा है।
मैं प्रत्येक फ़ाइल की शुरुआत में एक लाइन लगाऊंगा। ~ / .Bash_profile के शीर्ष पर:
export BASH_CONF="bash_profile"
और ~ / .bashrc के शीर्ष पर:
export BASH_CONF="bashrc"
फिर, एक नया iTerm खोलें और टाइप करें
$ echo $BASH_CONF
यह पुष्टि करनी चाहिए कि फ़ाइल खट्टी हो रही है और आप फ़ाइल के सिंटैक्स में देख सकते हैं।
ITerm2 में, इनमें से किसी भी समाधान ने मेरे लिए काम नहीं किया। मैं इसे ठीक से कमांड को जोड़कर मेरी .bashrc फ़ाइल को पढ़ने में सक्षम था
source ~/.bashrc
करने के लिए : संदेश शुरू में पाठ मेरी iTerm प्रोफ़ाइल के लिए सेटिंग्स में क्षेत्र / जनरल।
~/.bashrc
। इसे संपादित किया।
मुझे आश्चर्य है कि क्या आप वास्तव में बैश का उपयोग करते हैं? हो सकता echo $SHELL
है कि आप उपयोग कर सकते हैं , यह काफी संभव है कि आप zsh का उपयोग कर रहे हैं , क्या आपने my-zh स्थापित किया है ?
Acutually मैं एक ही समस्या का सामना के रूप में आप, मैं इसे कॉन्फ़िगर करके ठीक ~ / .zshrc बजाय या तो ~ / .bash_profile लॉगिन खोल या के लिए ~ / .bashrc गैर लॉगिन खोल के लिए।
शायद आपके पास एक कोशिश हो सकती है
मेरे 10.6 मशीन ~/.profile
पर स्रोत है। तो एक source .bashrc
प्रविष्टि में ~/.profile
काम करना चाहिए।
आसान तय।
1. अपनी ~/.zshrc
फ़ाइल खोलें
2. फ़ाइल के अंत में निम्न पंक्ति जोड़ें।
source ~/.bash_profile
अपनी अलियास परिभाषाओं को बैश प्रोफाइल फाइल में रखें, आपको फाइल बनानी होगी लेकिन यह अपने आप खट्टी हो जाएगी। मैं एक अलग फ़ाइल बनाता हूं जिसे alias.configuration नाम दिया गया है और इसे स्रोत में .bash_profile सिर्फ इसलिए क्योंकि मेरे पास एक और उपयोगकर्ता परिभाषित है और एक ही उपनाम सेट करना चाहता है।
.bashrc
और न ही .bash_profile
।
जोड़ना
set -x
की शुरुआत में /etc/profile
। जब यह आपको मार डाला जाता है कि सब कुछ की एक पंक्ति-दर-पंक्ति ब्यौरा देती है bash
शुरू होता है, भीतर से प्राप्त फ़ाइलों सहित /etc/profile
, ~/.bash_profile
, आदि यह थोड़ा कठिन है कि अगर आप समझ में नहीं आता bash
पटकथा बहुत अच्छी तरह से है, लेकिन आप यह देखने के लिए सक्षम हो सकता है स्टार्ट-अप फ़ाइल में कोई त्रुटि है, और आउटपुट bash
आपकी समस्या का पता लगाने में मदद करने के लिए किसी के लिए उपयोगी होगा ।
set -x
समस्या निवारण पूर्ण होने पर आप लाइन हटा सकते हैं।
10.10 और iTerm2 2.0 पर, अनुकूलित प्रोफ़ाइल
मैंने उम्मीद की तरह काम करने के लिए कुछ समाधानों को एक साथ जोड़ा।
.bash_profile
स्रोत और zsh पर चलाएँ।
Preferences -> Profiles -> General
।
कमांड के तहत कमांड का चयन करें।
और टेक्स्ट बॉक्स में जोड़ें /bin/bash --login
।
फिर .bash_profile ऐड लाइन
/bin/zsh --login
बस।
bash
हमेशा भाग रहे हैं zsh
, तो वह नहीं है जो कोई उम्मीद करता है।
source ~/.bash_profile
मैन्युअल रूप से चलना होगा । @ स्थिति उपरोक्त बातों को करने के बाद, मेरे पास आवश्यक तरीके से zsh है।
zsh
हो सकता है क्या आप की इच्छा , लेकिन यह नहीं है आवश्यक या के लिए कहा इस सवाल है, जो टैग है [बैश] और के बारे में कुछ नहीं कहा से zsh
। (2) यदि आप अपने .bashrc
और / या में उपनाम और शेल फ़ंक्शंस निर्धारित करते हैं (बिना उन्हें निर्यात किए) और .bash_profile
क्या वे आपके zsh
शेल में आपके लिए उपलब्ध हैं ?
~/.bash_profile
, उसे पहले बैश करके लागू किया जा रहा है , जो आपके द्वारा दिए गए निर्देशों को पूरा करने के लिए कम है~/.bashrc
। यह समस्या अप्रत्याशित रूप से हो सकती है यदि कोई दुष्ट प्रोग्राम आपके लिए कुछ निर्देश जोड़ता है~/.bash_profile
जब पहले फ़ाइल मौजूद नहीं थी, और आपने अपने सभी बॉर्डर आदेशों को रखा था~/.bashrc
। इसका समाधान या तो आपके ~ / .bash_profile को हटाना है, या ~ / .bash_profile को अपने ~ / .bashrc को हटाना है। यह कमांड जोड़कर किया जा सकता है:source ~/.bashrc
आपके अंत तक~/.bash_profile
और टर्मिनल को फिर से शुरू करना।