हर बार जब मैं टर्मिनल खोलता हूं, तो मुझे .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/.zlogin
zsh
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 के अंदर स्क्रिप्ट निष्पादित हो जाती हैं।