खोज…


वाक्य - विन्यास

  • पथ जोड़ें: पथ = $ पथ: / नया / पथ
  • पथ जोड़ें: पथ = / नया / पथ: $ पथ

पैरामीटर

पैरामीटर विवरण
पथ पथ पर्यावरण चर

टिप्पणियों

बैश कॉन्फ़िगरेशन फ़ाइल:

जब भी कोई नया इंटरेक्टिव बैश शेल शुरू होता है तो यह फाइल खट्टी हो जाती है।

GNU / Linux सिस्टम में यह आम तौर पर ~ / .bashrc फ़ाइल है; मैक में यह ~ / .bash_profile या ~ / .profile है

निर्यात:

पथ चर एक बार निर्यात किया जाना चाहिए (यह डिफ़ॉल्ट रूप से किया जाता है)। एक बार इसे निर्यात करने के बाद इसे निर्यात किया जाएगा और इसमें किए गए किसी भी परिवर्तन को तुरंत लागू किया जाएगा।

परिवर्तन लागू करें:

बैश कॉन्फ़िगरेशन फ़ाइल में परिवर्तन लागू करने के लिए, आपको उस फ़ाइल को किसी टर्मिनल ( source /path/to/bash_config_file ) में पुनः लोड करना होगा

पथ पर्यावरण चर में एक पथ जोड़ें

PATH पर्यावरण चर को आम तौर पर ~ / .bashrc या ~ / .bash_profile या / etc / प्रोफ़ाइल या ~ / .profile या /etc/bash.bashrc (डिस्ट्रो विशिष्ट बैश कॉन्फ़िगरेशन फ़ाइल) में परिभाषित किया जाता है।

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/jdk1.8.0_92/bin:/usr/lib/jvm/jdk1.8.0_92/db/bin:/usr/lib/jvm/jdk1.8.0_92/jre/bin

अब, अगर हम पथ चर में एक पथ (जैसे ~/bin ) जोड़ना चाहते हैं:

PATH=~/bin:$PATH
# or
PATH=$PATH:~/bin

लेकिन यह केवल मौजूदा शेल (और इसके सबहेल्ड) में पथ को संशोधित करेगा। एक बार जब आप शेल से बाहर निकल जाते हैं, तो यह संशोधन चला जाएगा।

इसे स्थायी बनाने के लिए, हमें उस कोड को ~ / .bashrc (या जो भी) फ़ाइल में जोड़ना होगा और फ़ाइल को फिर से लोड करना होगा।

यदि आप निम्नलिखित कोड (टर्मिनल में) चलाते हैं, तो यह स्थायी रूप से PATH में ~/bin जोड़ देगा:

echo 'PATH=~/bin:$PATH' >> ~/.bashrc && source ~/.bashrc

स्पष्टीकरण:

  • echo 'PATH=~/bin:$PATH' >> ~/.bashrc लाइन को जोड़ता है PATH=~/bin:$PATH ~ / .bashrc फ़ाइल के अंत में (आप इसे पाठ संपादक के साथ कर सकते हैं)।
  • source ~/.bashrc ~ / .bashrc फ़ाइल को पुनः लोड करता है

यह थोड़ा सा कोड (टर्मिनल में रन) है जो यह जांच करेगा कि क्या कोई रास्ता पहले से ही शामिल है और अगर नहीं तो रास्ता जोड़ें:
path=~/bin            # path to be included
bashrc=~/.bashrc      # bash file to be written and reloaded
# run the following code unmodified
echo $PATH | grep -q "\(^\|:\)$path\(:\|/\{0,1\}$\)" || echo "PATH=\$PATH:$path" >> "$bashrc"; source "$bashrc"

पथ पर्यावरण चर से एक पथ निकालें

एक पाथ पर्यावरण चर से एक पथ को हटाने के लिए, आपको ~ / .bashrc या ~ / .bash_profile या / etc / प्रोफ़ाइल या ~ / .profile या /etc/bash.bashrc (डिस्ट्रो विशिष्ट) फ़ाइल को संपादित करने और असाइनमेंट को हटाने की आवश्यकता है। वह विशेष पथ।

सटीक असाइनमेंट खोजने के बजाय, आप बस इसके अंतिम चरण में $PATH में एक प्रतिस्थापन कर सकते हैं।

निम्नलिखित सुरक्षित रूप से निकाल देंगे $path से $PATH :

path=~/bin
PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"

इसे स्थायी बनाने के लिए, आपको इसे अपने बैश कॉन्फ़िगरेशन फ़ाइल के अंत में जोड़ना होगा।


आप इसे कार्यात्मक तरीके से कर सकते हैं:
rpath(){
    for path in "$@";do
        PATH="$(echo "$PATH" |sed -e "s#\(^\|:\)$(echo "$path" |sed -e 's/[^^]/[&]/g' -e 's/\^/\\^/g')\(:\|/\{0,1\}$\)#\1\2#" -e 's#:\+#:#g' -e 's#^:\|:$##g')"
    done
    echo "$PATH"
}

PATH="$(rpath ~/bin /usr/local/sbin /usr/local/bin)"
PATH="$(rpath /usr/games)"
# etc ...

इससे कई रास्तों को संभालने में आसानी होगी।

टिप्पणियाँ:

  • आपको इन कोड को बैश कॉन्फ़िगरेशन फ़ाइल (~ / .bashrc या जो भी हो) में जोड़ना होगा।
  • बैश कॉन्फ़िगरेशन (~ / .bashrc) फ़ाइल को पुनः लोड करने के लिए source ~/.bashrc चलाएं।


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow