मैक ओएस एक्स शेर पर पर्यावरण चर सेट करें


532

जब कोई कहता है कि "अपनी .plist फ़ाइल को संपादित करें" या "आपकी .profile" या ".bash_profile" आदि, यह सिर्फ मुझे भ्रमित करता है। मुझे पता नहीं है कि ये फाइलें कहां हैं, मुझे कैसे बनाना है अगर मुझे ऐसा करना है, आदि, और यह भी कि इतने सारे अलग-अलग क्यों लगते हैं (क्यों? क्या वे अलग-अलग काम करते हैं?)

तो क्या कोई कृपया एक पिछले विंडोज उपयोगकर्ता को बहुत धैर्यपूर्वक समझा सकता है (यदि शुरू में ओएस एक्स दुनिया को भ्रमित करने वाले सुखद के साथ और अधिक परिचित होना चाहता है) तो यह कदम से कदम कैसे उठाया जाए?

मुझे GUI एप्लिकेशन और कमांड लाइन एप्लिकेशन दोनों के लिए वैरिएबल सेट करने की आवश्यकता है, और फिलहाल यह एक चींटी स्क्रिप्ट के लिए है जिसे वेरिएबल्स की आवश्यकता है, लेकिन साथ ही साथ अन्य आवश्यकताएं भी होंगी।

कृपया ध्यान दें कि मेरे पास शेर भी है, क्योंकि आपको जवाब देने वाले कई जवाब सिंह के लिए पुराने लग रहे हैं ...

यह भी ध्यान दें कि मेरे पास टर्मिनल का उपयोग करके व्यावहारिक रूप से शून्य अनुभव है। मैं सीखने को तैयार हूं, लेकिन कृपया एक नौसिखिए के लिए समझाएं ...


यदि आप इसे वसंत की तरह कुछ एप्लिकेशन से पढ़ने का प्रयास करते हैं, तो उत्तर में से कोई भी काम नहीं करेगा।
मेहराज मलिक

जवाबों:


403

सबसे पहले, ओएस एक्स के बारे में पहचानने के लिए एक बात यह है कि यह यूनिक्स पर बनाया गया है। यह वह जगह है जहाँ .bash_profile आता है। जब आप OS X में टर्मिनल ऐप शुरू करते हैं तो आपको डिफ़ॉल्ट रूप से बैश शेल मिलता है। बैश शेल यूनिक्स से आता है और जब यह लोड होता है तो यह .bash_profile स्क्रिप्ट चलाता है। आप अपनी सेटिंग बदलने के लिए अपने उपयोगकर्ता के लिए इस स्क्रिप्ट को संशोधित कर सकते हैं। यह फ़ाइल यहां स्थित है:

~/.bash_profile

Mavericks के लिए अद्यतन

ओएस एक्स मावेरिक्स पर्यावरण का उपयोग नहीं करता है। सहायक - कम से कम ओएस एक्स विंडोज़ अनुप्रयोगों के लिए नहीं। आप विंडो किए गए एप्लिकेशन के लिए लॉन्च कॉन्फ़िगरेशन का उपयोग कर सकते हैं । .Bash_profile अभी भी समर्थित है क्योंकि यह टर्मिनल में उपयोग किए जाने वाले बैश शेल का हिस्सा है।

सिंह और पर्वत सिंह

OS X विंडो वाले एप्लिकेशन को आपके environment.plist फ़ाइल से पर्यावरण चर प्राप्त होते हैं। यह संभावना है कि आपका ".plist" फ़ाइल से क्या मतलब है। यह फ़ाइल यहां स्थित है:

~/.MacOSX/environment.plist

यदि आप अपने पर्यावरण में परिवर्तन करते हैं। फाइल फ़ाइल तो OS X विंडोज़ अनुप्रयोग, जिसमें टर्मिनल ऐप भी शामिल है, उन पर्यावरण चर को सेट करेगा। आपके द्वारा .bash_profile में सेट किया गया कोई भी पर्यावरण चर केवल आपके बैश शेल को प्रभावित करेगा।

आम तौर पर मैं केवल अपनी .bash_profile फ़ाइल में चर सेट करता हूं और .plist फ़ाइल (या मैक्स्टिक्स पर लॉन्च फ़ाइल) को नहीं बदलता हूं। अधिकांश OS X विंडो वाले एप्लिकेशन को किसी भी कस्टम वातावरण की आवश्यकता नहीं है। केवल जब किसी एप्लिकेशन को वास्तव में एक विशिष्ट पर्यावरण चर की आवश्यकता होती है, तो मैं पर्यावरण को बदल देता हूं ।plist (या Mavericks पर फ़ाइल लॉन्च)।

ऐसा लगता है कि आप जो चाहते हैं वह .bash_profile के बजाय पर्यावरण .plist फ़ाइल को बदलना है।

एक आखिरी बात, अगर आप उन फाइलों की तलाश करते हैं, तो मुझे लगता है कि आप उन्हें नहीं ढूंढ पाएंगे। अगर मुझे सही से याद है, तो वे मेरे लायन के शुरुआती इंस्टालेशन पर नहीं थे।

संपादित करें: यहाँ एक फ़ाइल बनाने के लिए कुछ निर्देश दिए गए हैं।

  1. Xcode खोलें
  2. फ़ाइल का चयन करें -> नया -> नई फ़ाइल ...
  3. Mac OS X के तहत संसाधन का चयन करें
  4. एक plist फ़ाइल चुनें
  5. बाकी संकेतों का पालन करें

फ़ाइल को संपादित करने के लिए, आप एक मेनू प्राप्त करने के लिए नियंत्रण-क्लिक कर सकते हैं और ऐड रो का चयन कर सकते हैं। आप फिर एक महत्वपूर्ण मूल्य जोड़ी जोड़ सकते हैं। पर्यावरण चर के लिए, कुंजी पर्यावरण चर नाम है और मूल्य उस पर्यावरण चर के लिए वास्तविक मूल्य है।

प्लिस्ट फाइल बन जाने के बाद आप इसे अपनी इच्छानुसार कभी भी संशोधित करने के लिए Xcode से खोल सकते हैं।


ठीक है धन्यवाद। मुझे लगता है कि मैं समझ गया हूं कि टिल्ड का मतलब है मेरा तथाकथित होम फोल्डर, सही (यानी मेरे मामले में उपयोगकर्ता / एंडर्स)? इसलिए यदि वे मौजूद नहीं हैं, तो मुझे एक नई खाली पाठ फ़ाइल बनानी चाहिए, जिन नामों का आपने उल्लेख किया है (क्या मुझे डॉट के साथ शुरू होने वाली फ़ाइल बनाने की अनुमति होगी?) और फिर एक पर्यावरण चर सेट करने के लिए उन फ़ाइलों में क्या जोड़ें? उदाहरण के लिए, मुझे एक वैरिएबल AHF_OPT जोड़ने की जरूरत है जो एक एंटी स्क्रिप्ट द्वारा आवश्यक फ़ोल्डर को इंगित करना चाहिए, मैं इन दो फाइलों में कैसे जोड़ूं?
एंडर्स

1
प्रयास करने के लिए दो चीजें: पहला, क्या आपके चिपकाया गया स्ट्रिंग में ".dtd>" के बाद एक गलत अर्धविराम है, हो सकता है कि यह एक कॉपी और पेस्ट त्रुटि हो, लेकिन मुझे फ़ाइल पढ़ने के लिए Xcode प्राप्त करने के लिए इसे निकालना पड़ा। दूसरा, आपको होने वाले प्रभावों के लिए लॉग आउट और बैक करने की आवश्यकता हो सकती है।
डेविड वी।

7
इसके अलावा इसके बारे में जानना उपयोगी है ~/.bashrc~/.bashrcफ़ाइल हर बार जब आप एक नया नॉन-लॉगिन बैश शेल खोलते हैं जैसे कि xterm / aterm, और ~/.bash_profileजब आप सिस्टम में पहली बार लॉग इन करते हैं तो केवल लॉगिन गोले के साथ चलता है।
DanSkeel

1
माहौल जोड़ने के बारे में एक अच्छी स्पष्ट व्याख्या मिली। डेवलपर यहाँ पर जाएं ।apple.com/library/mac/#qa/qa1067/ _index.html
और अंत में

1
बहुत बढ़िया जवाब, अजीब वाक्यांश के अपवाद के साथ "ओएस एक्स विंडोज़ एप्लीकेशन।" यह X11 को "X विंडोज" के रूप में संदर्भित करने से भी बदतर है। इसे एक्वा या सिर्फ ".app एप्लिकेशन" कहना बेहतर है।
सिग्माएक्स

222

आपकी .profileया .bash_profileबस फाइलें हैं जो आपके "होम" फ़ोल्डर में मौजूद हैं। यदि आप एक खोजक विंडो खोलते हैं और पसंदीदा फलक में अपना खाता नाम क्लिक करते हैं, तो आप उन्हें नहीं देखेंगे। यदि आप एक टर्मिनल विंडो खोलते हैं और lsउन फाइलों को सूचीबद्ध करने के लिए टाइप करते हैं जो आप अभी भी उन्हें नहीं देखेंगे। हालाँकि, आप उन्हें ls -aटर्मिनल में उपयोग करके पा सकते हैं । या यदि आप अपने पसंदीदा पाठ संपादक (जैसे कि TextEdit के बाद से यह ओएस एक्स के साथ आता है) प्रेस खोलने के लिए और फ़ाइल> ओपन और फिर Command+ Shift+ .और अपना खाता नाम (घर फ़ोल्डर) पर क्लिक करें यदि आप उन्हें साथ ही देखेंगे। यदि आप उन्हें नहीं देखते हैं, तो आप अपने पसंदीदा पाठ संपादक में एक बना सकते हैं।

अब, पर्यावरण चर जोड़ने अपेक्षाकृत वैचारिक और खिड़कियों के समान उल्लेखनीय है। आपके .profileबस जोड़ने में, प्रति पंक्ति, चर नाम और उसका मान इस प्रकार है:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

आदि।

यदि आप अपने "पथ" चर को संशोधित कर रहे हैं, तो सिस्टम के डिफ़ॉल्ट पथ को शामिल करना सुनिश्चित करें जो आपके लिए पहले से निर्धारित था:

export PATH=$PATH:/path/to/my/stuff

अब यहाँ quirky हिस्सा है, आप या तो नए टर्मिनल विंडो को खोल सकते हैं ताकि नए चर प्रभावी हो सकें, या आपको फ़ाइल को फिर से टाइप करने .profileया .bash_profileलोड करने की आवश्यकता होगी और सामग्री आपके वर्तमान टर्मिनल के वातावरण पर लागू होगी।

आप देख सकते हैं कि आपके टर्मिनल में "सेट" कमांड का उपयोग करके आपके परिवर्तन प्रभावी हो गए हैं। बस टाइप करें set(या set | moreयदि आप एक पृष्ठांकित सूची पसंद करते हैं) और सुनिश्चित करें कि आपने फ़ाइल में क्या जोड़ा है।

GUI ऐप्स में पर्यावरण चर जोड़ने के लिए, यह आम तौर पर आवश्यक नहीं है और मैं इसके बारे में अधिक सुनना चाहता हूं जो आप विशेष रूप से बेहतर कर रहे हैं कि आप इसके लिए एक उत्तर दें।


2
धन्यवाद, मैं पिछले भाग को काफी समझ नहीं पाया, हालांकि, मुझे या तो उन्हें सेट करने के लिए एक टर्मिनल विंडो खोलनी होगी, या टाइप करना होगा। प्रॉफ़ाइल? लेकिन क्या मुझे टाइप करने के लिए एक टर्मिनल विंडो नहीं खोलनी होगी। और अगर वे स्वचालित रूप से बस एक टर्मिनल विंडो खोलकर सेट कर रहे हैं, तो मुझे यह टाइप करने की आवश्यकता क्यों है ...? और जब मैंने एक खोला है, तो क्या वे स्थायी रूप से सेट हो जाएंगे? मैं शायद आपको गलत समझ रहा हूं, क्योंकि मेरे सवाल का भी कोई मतलब नहीं है ...
एंडर्स

4
यदि आपके पास अपनी प्रोफ़ाइल बदलने से पहले एक टर्मिनल विंडो खुली है, तो वे परिवर्तन मौजूदा टर्मिनल के वातावरण में नहीं दिखेंगे। आपका त्वरित समाधान सिर्फ एक नई टर्मिनल विंडो खोलना है। बस इतना ही। प्रत्येक नई विंडो में इस पर मौजूद .profile में सब कुछ होगा। हमेशा। पुरानी, ​​पहले से खुली हुई खिड़कियों को ठीक करने का तरीका टाइप करना है। "। लाभदायक" 2 अवधि, उनके बीच 1 स्थान। "सेट" कमांड पर्यावरण चर सेट करने के लिए है जो आपके द्वारा सेट किए गए सत्र को समाप्त करने के दौरान मर जाते हैं। बिना तर्क के "सेट" का उपयोग करके वर्तमान में सेट किए गए चर को सूचीबद्ध करता है।
टोककोव

1
अहह, मैंने जो भ्रम पैदा किया है, वह मुझे दिखता है। यदि आपके पास कोई टर्मिनल विंडो नहीं खुली थी, तो प्रत्येक नई विंडो खुलने पर .profile को लोड करेगी और आपको कुछ भी नहीं करने की आवश्यकता होगी। यदि दूसरी तरफ आपने अपनी टर्मिनल विंडो में .profile को एडिट किया था या पहले टर्मिनल विंडो खोली थी और उनमें बदलाव चाहते थे, तो आपको . .profileउन्हें लोड करने के लिए बस टाइप करने की जरूरत है ।
15

2
मैं इसे काम नहीं कर सकता। मैंने लाइन एक्सपोर्ट AXF_DIR = / Applications / Antenna / AHFormatterV53 के साथ एक फाइल .bash_profile अंडर / यूजर्स / एंडर्स को जोड़ा, लेकिन चींटी की प्रक्रिया अभी भी एक वेरिएबल AXF_DIR नहीं पाती - इसके अलावा, मैंने टर्मिनल में सेट कमांड की कोशिश की। और बहुत सी जानकारी मिली, लेकिन इस चर के बारे में कुछ भी नहीं। ध्यान दें कि मैंने भी सिस्टम को सिर्फ सुनिश्चित करने के लिए फिर से शुरू किया, और मैंने एक नई टर्मिनल विंडो भी शुरू की ...
एंडर्स

2
इसका नामकरण करने का प्रयास करें .profile। मैंने हाल ही में खरीदी गई एक मशीन को देखा और लगता है कि वे .profileइन दिनों का उपयोग कर रहे हैं और नहीं.bash_profile
tokkov

77

सिंह OS 10.7.x में पाथ चर के बारे में विशेष रूप से थोड़ी अधिक जानकारी यहाँ दी गई है:

यदि आपको विश्व स्तर पर PATH को सेट करने की आवश्यकता है, तो PATH सिस्टम द्वारा निम्नलिखित क्रम में बनाया गया है:

  1. फ़ाइल की सामग्री को पार्स करना /private/etc/paths, प्रति पंक्ति एक पथ
  2. फ़ोल्डर की सामग्री को पार्स करना /private/etc/paths.d। उस फ़ोल्डर की प्रत्येक फ़ाइल में एकाधिक पथ, प्रति पंक्ति एक पथ हो सकता है। लोड ऑर्डर पहले फ़ाइल नाम से निर्धारित होता है, और फिर फ़ाइल में लाइनों का क्रम।
  3. एक setenv PATHमें बयान /private/etc/launchd.confहै, जो होगा संलग्न पहले से ही # 1 और # 2 में बनाया गया पथ के लिए उस पथ (आप $ पथ उपयोग नहीं करना चाहिए पथ चर कि अब तक बनाया गया है को संदर्भित करने के लिए)। लेकिन, अन्य दो विकल्पों को देखते हुए PATH को यहां स्थापित करना पूरी तरह से अनावश्यक है, हालांकि यह वह जगह है जहां अन्य वैश्विक पर्यावरण चर सभी उपयोगकर्ताओं के लिए सेट किए जा सकते हैं।

ये पथ और चर सभी उपयोगकर्ताओं और अनुप्रयोगों को विरासत में मिले हैं, इसलिए वे वास्तव में वैश्विक हैं - लॉग आउट और इन रास्तों को रीसेट नहीं करेंगे - वे सिस्टम के लिए बनाए गए हैं और किसी भी उपयोगकर्ता को लॉगिन करने का अवसर दिए जाने से पहले बनाए जाते हैं; इसलिए इन परिवर्तनों को प्रभावी होने के लिए सिस्टम रीस्टार्ट की आवश्यकता होती है।

BTW, OS 10.7.x लायन की एक क्लीन इन्स्टॉल है environment.plistजो मुझे मिल नहीं सकता है, इसलिए यह काम कर सकता है, लेकिन इसे अपदस्थ भी किया जा सकता है।


1
हाँ, बहुत बहुत धन्यवाद! यह एक साधारण .profile की तुलना में थोड़ा अधिक शामिल है।
फेलिक्सज

2
यदि आप paths.d तरीके का उपयोग करते हैं और आपके पास एक पथ है, जिसमें रिक्त स्थान वाले फ़ोल्डर्स हैं, तो बस उन्हें छोड़ दें। यदि आप उनसे बचने की कोशिश करते हैं (जो कि आम बात है तो मुझे लगता है?) यह काम नहीं करता है (कम से कम मेरे लिए)। मैंने इसे यहाँ पढ़ा: sweeting.org/mark/blog/2008/05/26/… ('रिक्त स्थान की खोज')। आशा है कि यह किसी और की मदद करता है!
माइकल ट्रू

1
@MichaelTrouw आपकी टिप्पणी ने मुझे एक टन की मदद की! मैं रिक्त स्थान के लिए पलायन जोड़ रहा था, लेकिन इसकी आवश्यकता नहीं थी! मैं
kpsfoo

@ जोंन, कैसे paths.dअलग है paths? इसके अलावा, क्या पूर्व बाद में ओवरराइड करता है?
पचेरियर

53
echo $PATH

यह वर्तमान पथ मूल्य प्रिंट करता है

फिर करो vim ~/.bash_profileऔर लिखो

export PATH=$PATH:/new/path/to/be/added

यहां आप पुराने पथ से जुड़ रहे हैं, इसलिए पुराने पथ को संरक्षित करता है और उसमें अपना नया पथ जोड़ता है

फिर करो

source ~/.bash_profile

यह इसे निष्पादित करेगा और पथ जोड़ देगा

फिर से जाँच करें

echo $PATH

2
"vim" कमांड vim होना चाहिए ~ / .bash_profile मैंने पोस्ट को संपादित करने की कोशिश की, लेकिन SO ने मुझे बताया कि संपादन में 6 वर्ण होने चाहिए: /
जेसन पॉलिटिक्स

31

दुर्भाग्य से इनमें से किसी भी उत्तर ने मेरे द्वारा की गई विशिष्ट समस्या का समाधान नहीं किया।

यहाँ एक सरल समाधान के साथ गड़बड़ करने के लिए बिना है bash। मेरे मामले में, यह gradleकाम (के लिए Android Studio) हो रहा था।

Btw, ये चरण OSX (माउंटेन लायन 10.8.5) से संबंधित हैं

  • टर्मिनल खोलें।
  • निम्न आदेश चलाएँ:

    sudo nano /etc/paths(या sudo vim /etc/pathsविम के लिए)

    नैनो

  • फ़ाइल के निचले भाग पर जाएं, और उस पथ को दर्ज करें जिसे आप जोड़ना चाहते हैं।
  • कंट्रोल-एक्स को छोड़ने के लिए मारो।
  • संशोधित बफर को बचाने के लिए 'Y' दर्ज करें।
  • फिर एक नई टर्मिनल विंडो खोलें:

    echo $PATH

आपको PATH के अंत में संलग्न नया पथ देखना चाहिए

इस पोस्ट से मुझे ये जानकारी मिली:

http://architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.UkED3rxPp3Q

मुझे उम्मीद है कि किसी और की मदद कर सकते हैं


3 घंटे तक समझने और निर्यात करने की कोशिश के बाद मैंने जो भी काम किया, उसने यह कोशिश की और यह काम कर गया। एक कदम गायब है। मैं इसे जोड़ दूँगा।
1.21 गीगावाट

@ 1.21gigawatts आह महान, खुशी है कि यह आपकी मदद की, संपादन के लिए धन्यवाद
wired00

1
अपडेट: यह काम करता है लेकिन संपादन के बाद सिस्टम को फिर से शुरू करना होगा।
अनंत सिमरन सिंह

सही समाधान!
जयंत वार्ष्णेय

MacOS 10.12.X के लिए बिल्कुल सही
कैमिल जी।

23

सरलीकृत स्पष्टीकरण

यह पोस्ट / प्रश्न पुराने प्रकार का है, इसलिए मैं OS X शेर उपयोगकर्ताओं के लिए एक सरल संस्करण का उत्तर दूंगा। डिफ़ॉल्ट रूप से, OSX Lion में निम्न में से कोई भी फाइल नहीं है:

  • ~ / .Bashrc
  • ~ / .Bash_profile
  • ~ / .Profile

अधिक से अधिक, यदि आपने टर्मिनल में कुछ भी किया है तो आप ~ / .bash_history देख सकते हैं

इसका क्या मतलब है

आपको अपने डिफ़ॉल्ट बैश कमांड (आमतौर पर ~ / .bashrc) में सेट करने के लिए फ़ाइल बनानी होगी। ऐसा करने के लिए, किसी भी प्रकार के संपादक का उपयोग करें, हालांकि टर्मिनल के भीतर इसे करना अधिक सरल है:

  1. %> emacs .profile
  2. [wac से / emacs प्रकार में:] source ~/.bashrc
  3. [w / emacs प्रकार से:] Ctrl + x Ctrl + s(फ़ाइल को बचाने के लिए)
  4. [w / emacs प्रकार में:] Ctrl + x Ctrl + c(emacs को बंद करने के लिए)
  5. %> emacs .bashrc
  6. [w / emacs टाइप में / अपने सभी बैश कमांड को पेस्ट करें, सहेजें और बाहर निकलें]

अगली बार जब आप टर्मिनल से बाहर निकलें और फिर से लोड करें, तो यह आपके सभी बैश वरीयताओं को लोड करना चाहिए। अच्छे उपाय के लिए, आमतौर पर अपने कमांड को उपयोगी फ़ाइल नामों में अलग करना एक अच्छा विचार है। उदाहरण के लिए, ~ / .bashrc के भीतर से, आपको source ~/.bash_aliasesअपने सभी उपनामों को ~ / .bash_aliases में रखना चाहिए।


उन्होंने इसे btw क्यों हटाया?
पचेरियर

@ स्पेसर मुझे यकीन नहीं है कि अगर उन्होंने इसे हटा दिया है, लेकिन अनुकूलन के बिना उन फ़ाइलों को आवश्यक नहीं है। मुद्दा यह है कि टर्मिनल / शेल, OSX, या BSD के लिए किसी भी नए के लिए, उन फ़ाइलों को स्पष्ट नहीं है और इस प्रकार के बारे में जानने के लिए और अधिक कठिन है।
Vol7ron

तो उन्होंने इसकी जगह क्या लिया?
पचेरियर

वे वैकल्पिक हैं, इसलिए उन्होंने इसे किसी भी चीज़ से प्रतिस्थापित नहीं किया; यह आरसी फ़ाइल है
vol7ron

18

मेरे लिए जो काम करना है वह .launchd.confउन चर के साथ बनाना है जिनकी मुझे आवश्यकता है:

setenv FOO barbaz

इस फाइल को लॉगिन पर लॉन्च करके पढ़ा जाता है। आप का उपयोग कर चल रहे लॉन्च करने के लिए एक मक्खी 'चर पर' जोड़ सकते हैं:

launchctl setenv FOO barbaz`

वास्तव में, .launchd.condकेवल लॉंचक्टल कमांड होते हैं।

चर सेट इस तरह से जीयूआई अनुप्रयोगों में ठीक से मौजूद होने लगते हैं।

यदि आप इस तरह से अपने LANG या LC_ वेरिएबल्स को सेट करने की कोशिश कर रहे हैं, और आप iTerm2 का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप अपने द्वारा उपयोग किए जा रहे प्रोफाइल के टर्मिनल टैब के तहत 'लोकल वेरिएबल्स को स्वचालित रूप से सेट करें' अक्षम कर दें। यह लॉन्च के पर्यावरण चर को ओवरराइड करने के लिए लगता है, और मेरे मामले में एक टूटे हुए LC_CTYPE को स्थापित कर रहा था जिससे दूरस्थ सर्वर (जो चर पारित हो गया) पर समस्याएँ पैदा हो रही हैं।

( Environment.plist अभी भी मेरे शेर पर काम करने लगता है। आप मैन्युअल रूप से संपादन करने के लिए या आवश्यक Xcode के बजाय फ़ाइल को बनाए रखने के लिए RCenvironment प्राथमिकता फलक का उपयोग कर सकते हैं । अभी भी शेर पर काम करने के लिए लगता है, हालांकि यह अंतिम अद्यतन स्नो लेपर्ड से है। युग। इसे मेरी व्यक्तिगत रूप से पसंदीदा विधि बनाता है।)


अब तक का सबसे आसान जवाब। ध्यान दें कि आपको टर्मिनल ऐप को पूरी तरह से बंद करने की आवश्यकता है और इसे प्रभावी होने के लिए किसी भी बदलाव के लिए फिर से खोलना है - न कि केवल एक टर्मिनल विंडो को बंद करना।
टिम्मम्म

1
यह जवाब बहुत दूर तक ओपी के उपयोग के लिए छीन लिया गया है। कैसे बनाएं? कहाँ बनाएँ?
हेनरीटूटोवो

15

Mac OS पर अपना PATH पर्यावरण चर सेट करें

टर्मिनल प्रोग्राम खोलें (यह डिफ़ॉल्ट रूप से आपके एप्लिकेशन / उपयोगिता फ़ोल्डर में है)। निम्न आदेश चलाएँ

touch ~/.bash_profile; open ~/.bash_profile

यह आपके डिफ़ॉल्ट टेक्स्ट एडिटर में फाइल को खोलेगा।

उदाहरण के लिए ANDROID SDK:

आपको अपने Android SDK प्लेटफ़ॉर्म-टूल्स और टूल्स डायरेक्टरी में पथ जोड़ना होगा। मेरे उदाहरण में मैं "/ विकास / android-sdk-macosx" का उपयोग करूंगा, निर्देशिका के रूप में एसडीके स्थापित है। निम्नलिखित पंक्ति जोड़ें:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

फाइल को सेव करें और टेक्स्ट एडिटर को छोड़ दें। अपने PATH को अपडेट करने के लिए अपने .bash_profile को निष्पादित करें।

source ~/.bash_profile

अब हर बार जब आप टर्मिनल प्रोग्राम खोलते हैं, तो आप Android SDK को शामिल करेंगे।


धन्यवाद। पता नहीं क्यों, लेकिन केवल इस समाधान ने मेरे लिए काम किया, न कि ऊपर वाले ने।
कर्क राशि k

जैसा कि आपने कहा मैंने पर्यावरण चर जोड़ा है, लेकिन मैं इसे एक्सकोड में उपयोग नहीं कर सकता, क्या आपके पास एक विचार है? मुझे हेडर सर्च पथ में इसका उपयोग करने की आवश्यकता है। अग्रिम में धन्यवाद।
युकेल बेय्राम

11

ओएस एक्स लॉयन के लिए पथ चर को जोड़ना

यह बहुत सीधे आगे था और मेरे लिए, टर्मिनल में काम किया:

$echo "export PATH=$PATH:/path/to/whatever" >> .bash_profile #replace "/path/to/whatever" with the location of what you want to add to your bash profile, i.e: $ echo "export PATH=$PATH:/usr/local/Cellar/nginx/1.0.12/sbin" >> .bash_profile 
$. .bash_profile #restart your bash shell

इसी तरह की प्रतिक्रिया यहाँ थी: http://www.mac-forums.com/forums/os-x-operating-system/255324-problems-setting-path-variable-lion.html#post1317516


1
यह ध्यान देने योग्य है कि आपको इसे अपने होम डायरेक्टरी के रूट से चलाने की आवश्यकता होगी। सुनिश्चित करें कि यह वह जगह है जहाँ पर cdकोई तर्क जारी करके या cd ~/
इफिथिथ

3
शेल को पुनः आरंभ करने की भी कोई आवश्यकता नहीं है। का उपयोग करें source .bash_profile
इफिथिथ

मुझे यह तरीका पसंद है क्योंकि यह छोटा है। लेकिन काम होता नहीं दिख रहा है। मैंने echo "export PATH=$PATH:/Applications/XAMPP/xamppfiles/bin/mysql" >> .bash_profileतब किया था जब मैं mysql -u root -pपहले से ही कर रहा था अगर मैं पहले से ही रूट पर हूं। जबकि मैं Applications/XAMPP/xamppfiles/bin/mysql -u root -pकहीं भी उपयोग कर सकता हूं । मैंने दोनों उल्लिखित पुनरारंभ दृष्टिकोण की कोशिश की: यव और @ इफ्सिथ।
कासवबेरे २५'१२ को १

इसके अलावा, अगर मैं रूट के रूप में $ $ पाथ (यानी sudo su) करता हूं तो मुझे मिलता है /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/XAMPP/xamppfiles/bin। जब मैं जड़ नहीं कर रहा हूँ मैं/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
kasavbere

$PATHचर (रूट एक उपयोगकर्ता है) उपयोगकर्ता विशिष्ट है।
एफ्फिथिथ

7

टर्मिनल खोलें:

vi ~/.bash_profile

सिस्टम में परिवर्तन लागू करें (कंप्यूटर की आवश्यकता नहीं है):

source ~/.bash_profile

(मैकओएस सिएरा 10.12.1 के साथ भी काम करें)


5

मुझे मावेरिक्स पर एक्लिप्स (GUI के रूप में शुरू, स्क्रिप्ट से नहीं) के साथ समस्या थी कि यह कस्टम पथ नहीं लिया। मैंने ऊपर बताए गए सभी तरीकों की कोशिश की, कोई फायदा नहीं हुआ। अंत में मुझे यहाँ से संकेत के आधार पर सबसे सरल काम करने का उत्तर मिला :

  1. /Applications/eclipse/Eclipse.app/Contents फ़ोल्डर पर जाएं

  2. पाठ संपादक (या XCode) के साथ Info.plist फ़ाइल संपादित करें, पूर्ण पथ के साथ पर्यावरण चर के लिए LSEnvironment शब्दकोश जोड़ें । ध्यान दें कि इसमें / usr / bin आदि भी शामिल हैं:

    <dict>
      <key>LSEnvironment</key>
      <dict>
            <key>PATH</key>
            <string>/usr/bin:/bin:/usr/sbin:/sbin:/dev/android-ndk-r9b</string>
      </dict>
      <key>CFBundleDisplayName</key>
      <string>Eclipse</string>
      ...
    
  3. एप्लिकेशन के साथ पुनः लोड पैरामीटर

    /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.fra‌​mework/Support/lsregister -v -f /Applications/eclipse/Eclipse.app
    
  4. ग्रहण को पुनः आरंभ करें


5

मैं आपको अपने व्यक्तिगत उदाहरण से बहुत ही बेमानी तरीके से समझाता हूं।

  1. JDK को स्थापित करने के बाद, सुनिश्चित करें कि यह स्थापित है। यहाँ छवि विवरण दर्ज करें
  2. कभी-कभी मैकओएस या लिनक्स स्वचालित रूप से विंडोज के विपरीत आपके लिए पर्यावरण चर सेट करता है। लेकिन हमेशा ऐसा नहीं होता है। तो चलिए इसे चेक करते हैं। यहाँ छवि विवरण दर्ज करें पर्यावरण चर सेट नहीं होने पर $ JAVA_HOME के ​​तुरंत बाद लाइन खाली हो जाएगी। यह आपके मामले में खाली होना चाहिए।

  3. अब हमें यह जांचने की आवश्यकता है कि क्या हमारे पास bash_profile फ़ाइल है। यहाँ छवि विवरण दर्ज करें आपने देखा कि मेरे मामले में हमारे पास पहले से ही bash_profile है। यदि नहीं तो हमें bash_profile फ़ाइल बनानी होगी।

  4. एक bash_profile फ़ाइल बनाएँ। यहाँ छवि विवरण दर्ज करें

  5. सुनिश्चित करें कि bash_profile फ़ाइल है बनाने के लिए फिर से जांचें। यहाँ छवि विवरण दर्ज करें

  6. अब bash_profile फ़ाइल खोलें। macOS इसे डिफ़ॉल्ट टेक्स्टएडिट प्रोग्राम का उपयोग करके खोलता है। यहाँ छवि विवरण दर्ज करें

  7. यह वह फ़ाइल है जहाँ पर्यावरण चर रखा जाता है। यदि आपने कोई नई bash_profile फ़ाइल खोली है, तो वह खाली होनी चाहिए। मेरे मामले में, यह पहले से ही पायथन प्रोग्रामिंग भाषा और एनाकोंडा वितरण के लिए निर्धारित था। अब, मुझे जावा के लिए पर्यावरण चर जोड़ने की जरूरत है जो सिर्फ पहली पंक्ति जोड़ रहा है। आप पहली पंक्ति VERBATIM टाइप करना चाहिए। बस पहली पंक्ति। TextEdit को सहेजें और बंद करें। फिर टर्मिनल बंद करें। यहाँ छवि विवरण दर्ज करें

  8. फिर से टर्मिनल खोलें। पर्यावरण चर सेट किया गया है या नहीं इसकी जाँच करें। यहाँ छवि विवरण दर्ज करें


4

मैंने बेवकूफ मार्ग लिया। / आदि / प्रोफ़ाइल के अंत में इन्हें जोड़ा गया

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

एक फोल्डर / etc / वातावरण बनाया, उसमें एक फाइल बनाई, जिसे "oracle" या "जो कुछ भी" कहा जाता है और उसमें मेरे द्वारा आवश्यक सामान को जोड़ दिया।

/ etc $ बिल्ली /etc/en एन्वायरमेंट ./ ओरकल

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin

1

अधिक विस्तार, जो शायद किसी के लिए उपयोगी हो सकता है:

अपने स्वयं के अन्वेषणों के कारण, अब मुझे पता है कि 7 से 8 अलग-अलग तरीकों से पर्यावरण चर कैसे सेट करें। मैं एक आवेदन के माध्यम से एक envar पाने के लिए कोशिश कर रहा था मैं Xcode के तहत विकसित कर रहा हूँ। मैंने "ट्रैसर" दूतों को इन विभिन्न तरीकों का उपयोग करके यह बताने के लिए सेट किया कि वे मुझे अपने आवेदन के दायरे में लाएं। नीचे से, आप देख सकते हैं कि तर्कों को जोड़ने के लिए Xcode में "स्कीम" को संपादित करना, जैसा कि "पुटेनव" करता है। उस दायरे में इसे सेट नहीं किया गया: ~ / .MACOS / environment.plist, ऐप-विशिष्ट plist, .profile, और कस्टम स्क्रिप्ट को चलाने के लिए एक बिल्ड चरण जोड़कर (मुझे Xcode में एक और तरीका मिला [कम से कम] सेट करने के लिए एक लेकिन भूल गया कि मैंने ट्रैसर को क्या कहा और अब इसे नहीं ढूंढ सकता; शायद यह किसी अन्य मशीन पर है ...)

GPU_DUMP_DEVICE_KERNEL 3 है

GPU_DUMP_TRK_ENVPLIST है (अशक्त)

GPU_DUMP_TRK_APPPLIST है (अशक्त)

GPU_DUMP_TRK_DOTPROFILE (शून्य) है

GPU_DUMP_TRK_RUNSCRIPT है (अशक्त)

GPU_DUMP_TRK_SCHARGS 1 है

GPU_DUMP_TRK_PUTENV 1 है

... दूसरी तरफ, अगर मैं टर्मिनल में जाता हूं और "सेट" कहता हूं, तो ऐसा लगता है कि यह केवल एक ही है। यह एक से है। प्रॉफाइल (मैंने सोचा होगा कि यह पर्यावरण को उठाएगा। यकीन है कि एक बार मैंने टर्मिनल में एक दूसरे ट्रेसर एनवर को देखा था, इसलिए तब से शायद कुछ हो गया है।


0

Step1: खुला ~/.bash_profile

अब एक टेक्स्ट एडिटर खुलता है:

चरण 2: चर नाम राजधानियों में होना चाहिए। इस उदाहरण में चर हैNODE_ENV

चरण 3: export NODE_ENV=development

इसे सहेजें और बंद करें।

अपने सिस्टम को पुनरारंभ करें।

किया हुआ।

एनवी चर की जांच करने के लिए: टर्मिनल खोलें और टाइप करें

echo $NODE_ENV 

0

निम्नलिखित आदेशों के माध्यम से, किसी भी पर्यावरण चर को सेट करने से पहले डिफ़ॉल्ट टर्मिनल शेल की जांच करने की सिफारिश की जाती है :

$ echo $SHELL
/bin/zsh

अपने डिफ़ॉल्ट टर्मिनल है / bin / zsh (जेड शैल) मेरे मामले में की तरह (व्यक्तिगत रूप से पसंद करते हैं जेड शैल), तो आप में इन वातावरण चर सेट करना होगा ~ / .zshenv सामग्री निम्नलिखित के साथ फ़ाइल (स्थापित करने इस उदाहरण में, JAVA_HOME वातावरण चर, लेकिन वही दूसरों पर लागू होता है):

export JAVA_HOME="$(/usr/libexec/java_home)"

इसी तरह, किसी भी अन्य टर्मिनल प्रकार का उल्लेख नहीं किया गया है, आपको इसकी संबंधित टर्मिनल एनवी फ़ाइल में पर्यावरण चर सेट करना चाहिए।

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