हर बार जब मैं टर्मिनल खोलता हूं, तो मुझे .bash_profileसक्षम करने के लिए स्रोत होना चाहिए$JAVA_HOME या अन्य चर ।
जवाबों:
हाँ, यह कहा जाता है ~/.zshenv।
यहां बताया गया है कि मैंने इसमें कैसे $JAVA_HOMEसेट किया है ~/.zshenv:
export JAVA_HOME="$(/usr/libexec/java_home)"
हालांकि, ध्यान रखें, कि zsh बैश नहीं है , इसलिए सिर्फ 'कारण' है कि आपके पास .bash_profileहर बार जब आप एक टर्मिनल खोलते हैं, तो इसका मतलब यह नहीं है कि आपको zsh के साथ ऐसा करना होगा। Zsh के साथ, मुझे केवल तभी पुन: स्रोत करना होगा ~/.zshenv जब मैं इसमें परिवर्तन करता हूं , और उसके बाद केवल उन टर्मिनलों के लिए जो पहले से ही खुले हैं : नए टर्मिनलों को पहले से ही मेरे नए और बेहतर बनाने चाहिए ~/.zshenv।
ध्यान दें
मुझे अक्सर यह मददगार लगता है, जब यह निर्धारित करने की कोशिश की जाती है कि मुझे अपने zsh स्टार्टअप फाइलों में से कौन सी चीजें zsh स्टार्टअप फाइलों से परामर्श करने के लिए रखनी चाहिए ।
.zprofileअर्थ के करीब है .bash_profile, इसमें दोनों को केवल उनके गोले के लिए लॉगिन गोले के द्वारा खट्टा किया गया है। .zshenvके सभी उदाहरणों के लिए निष्पादित किया जाता है zsh, चाहे वे लॉगिन गोले हों या न हों।
.zshenvवह जगह है जहां सभी पर्यावरण चर को परिभाषित किया जाना चाहिए। यहां
.bash_profileलिए bashक्या करना है । यह लिंक इस बात की अच्छी जानकारी प्रदान करता है कि कहाँ जाना चाहिए। .zshenv.zprofile/.zloginzsh
PATHमें परिभाषित करने के साथ @Alexej समस्या .zshenvयह है कि बाद में इसे ओवरराइड किया जा सकता है, कहो /etc/profile; PATH चर को .zshenv या .zshrc में देखें ।
मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैंने हाल ही में मैकओ को कैटालिना में अपग्रेड किया है, जिसने डिफ़ॉल्ट शेल को बैश से बदलकर zsh कर दिया है।
मैंने यह करना समाप्त कर दिया:
echo source ~/.bash_profile > ~/.zshenv && source ~/.zshenv
Zsh स्रोत के लिए मेरा मूल .bash_profile है।
echo source ~/.bash_profile > ~/.zshenv
echoमहत्वपूर्ण है? वह क्या करता है?
X > Yकेवल उत्तीर्ण एक्स क्या है। गूंज के बिना, कुछ भी आउटपुट नहीं है।
हाल ही में मैक से कैटालिना ओएस के उन्नयन के साथ, यह Z शेल को बदलने के लिए डिफ़ॉल्ट रूप से बदल जाता है जो zshrc फ़ाइल को Z-shell संसाधन के रूप में उपयोग करता है, हमारे पास आमतौर पर उपयोगकर्ता घर निर्देशिका के अंदर bash_profile था समाधान बस करना है
एक नई टर्मिनल विंडो खोलें और अपने पिछले उपनाम / स्क्रिप्ट को चलाने के लिए निर्दोष काम करना चाहिए
अपने .bash_profile का उपयोग जारी रखने के लिए अन्य सरल विकल्प इस फ़ाइल को आपकी .zshrc फ़ाइल में जोड़ें।
इस सरल समाधान के साथ आप अपने .bash_prifile को जोड़ना जारी रख सकते हैं यदि आपको zhs पसंद हैं।
मैक कैटालिना में, टर्मिनल zsh का उपयोग करता है। इसके बजाय .bash_profile, .zshenv करने के लिए अच्छा है और वहाँ अपनी स्क्रिप्ट लिखें।
जब आप अगली बार हर बार टर्मिनल खोलते हैं, तो .zshenv के अंदर स्क्रिप्ट निष्पादित हो जाती हैं।