साधारण सामान
PATH=$PATH:~/opt/bin
या
PATH=~/opt/bin:$PATH
इस आधार पर कि क्या आप ~/opt/bin
अंत में जोड़ना चाहते हैं (अन्य सभी निर्देशिकाओं के बाद खोजा जा सकता है, मामले में एक ही नाम से कई निर्देशिकाओं में) या शुरुआत में (सभी अन्य निर्देशिकाओं से पहले खोजा जा सकता है)।
आप एक ही समय में कई प्रविष्टियाँ जोड़ सकते हैं। PATH=$PATH:~/opt/bin:~/opt/node/bin
या आदेश देने के काम पर बदलाव ठीक है। export
लाइन की शुरुआत में मत डालो क्योंकि इसमें अतिरिक्त जटिलताएं हैं (नीचे देखें "बैश के अलावा गोले पर नोट्स")।
यदि आपका PATH
निर्माण कई अलग-अलग घटकों द्वारा किया जाता है, तो आप डुप्लिकेट प्रविष्टियों के साथ समाप्त हो सकते हैं। देखें कि यूनिक्स किस कमांड से खोजा जा रहा है? और डुप्लिकेट को जोड़ने या उन्हें हटाने से बचने के लिए awk कमांड के साथ डुप्लिकेट $ PATH प्रविष्टियों को निकालें।
कुछ वितरण अपने ~/bin
आप अपने पेट में डाल दिया अगर यह मौजूद है, वैसे।
इसे कहां लगाना है
PATH
में संशोधित करने के लिए लाइन रखो ~/.profile
, या ~/.bash_profile
यदि आपके पास क्या है।
ध्यान दें कि ~/.bash_rc
किसी भी प्रोग्राम द्वारा पढ़ा नहीं जाता है, और ~/.bashrc
बैश के इंटरैक्टिव उदाहरणों की कॉन्फ़िगरेशन फ़ाइल है। आपको पर्यावरण चर को परिभाषित नहीं करना चाहिए ~/.bashrc
। पर्यावरण चर को परिभाषित करने के लिए सही जगह PATH
है ~/.profile
(या ~/.bash_profile
यदि आप बैश के अलावा गोले की परवाह नहीं करते हैं)। देखें कि उनके बीच क्या अंतर है और मुझे किसका उपयोग करना चाहिए?
इसे अंदर /etc/environment
न रखें ~/.pam_environment
: ये शेल फाइलें नहीं हैं, आप $PATH
वहां की तरह प्रतिस्थापन का उपयोग नहीं कर सकते । इन फ़ाइलों में, आप केवल एक चर को ओवरराइड कर सकते हैं, इसे जोड़ नहीं सकते।
कुछ सिस्टम स्क्रिप्ट में संभावित जटिलताएं
export
यदि चर पहले से ही पर्यावरण में है, तो आपको इसकी आवश्यकता नहीं है: चर के मूल्य का कोई भी परिवर्तन पर्यावरण में परिलक्षित होता है। पर्यावरण PATH
में बहुत अधिक होता है; सभी यूनिक्स सिस्टम इसे बहुत जल्दी सेट करते हैं (आमतौर पर बहुत पहली प्रक्रिया में, वास्तव में)।
लॉगिन समय पर, आप PATH
पहले से ही पर्यावरण में, और पहले से ही कुछ सिस्टम निर्देशिकाओं पर भरोसा कर सकते हैं । आप एक स्क्रिप्ट है कि जल्दी निष्पादित किया जा सकता आभासी वातावरण किसी तरह का सेट करते समय लिख रहे हैं, तो आप यह सुनिश्चित करें कि आवश्यकता हो सकती है PATH
यदि: गैर खाली और निर्यात है PATH
अभी भी सेट नहीं हो, तो कुछ इस तरह PATH=$PATH:/some/directory
तय करेगा PATH
करने के लिए :/some/directory
, और खाली घटक शुरुआत में इसका मतलब है कि वर्तमान निर्देशिका (जैसे .:/some/directory
)।
if [ -z "${PATH-}" ]; then export PATH=/usr/local/bin:/usr/bin:/bin; fi
बैश के अलावा अन्य गोले पर नोट
बाश में, ksh और zsh, export
विशेष वाक्यविन्यास है, और दोनों PATH=~/opt/bin:$PATH
और export PATH=~/opt/bin:$PATH
सही काम भी करते हैं। अन्य बॉर्न / पोसिक्स-शैली के गोले में जैसे कि डैश (जो /bin/sh
कई प्रणालियों पर है), export
एक साधारण कमांड के रूप में पार्स किया जाता है, जो दो अंतरों को बताता है:
तो पानी के छींटे जैसे गोले में, पहली जगह तक के मूल्य के बाद शाब्दिक स्ट्रिंग पर export PATH=~/opt/bin:$PATH
सेट PATH
होता है।
(एक नंगे असाइनमेंट) को उद्धरण की आवश्यकता नहीं है और सही काम करता है। यदि आप एक पोर्टेबल स्क्रिप्ट में उपयोग करना चाहते हैं , तो आपको लिखने की ज़रूरत है , या ( बॉर्न शेल को पोर्टेबिलिटी के लिए भी स्वीकार नहीं करना चाहिए और टिल्ड विस्तार नहीं करना चाहिए)।~/opt/bin/:
PATH
PATH=~/opt/bin:$PATH
export
export PATH="$HOME/opt/bin:$PATH"
PATH=~/opt/bin:$PATH; export PATH
PATH=$HOME/opt/bin:$PATH; export PATH
export var=value
¹ यह बॉर्न गोले में वास्तविक नहीं था (जैसा कि वास्तविक बॉर्न शेल में, आधुनिक पॉसिक्स-शैली के गोले में नहीं), लेकिन आप इन दिनों ऐसे पुराने गोले का सामना करने की अत्यधिक संभावना नहीं है।