मैं Linux पर $ PATH को कैसे संपादित कर सकता हूं?


44

मैं ubuntu 9.04 का उपयोग कर रहा हूं मुझे अपने $ PATH में कुछ फ़ोल्डर जोड़ने की आवश्यकता है। मुझे पता है कि पथ को कैसे पढ़ना है:

echo $PATH

मैं इसे संपादित करने और 2 अन्य पथ जोड़ने में सक्षम होना चाहता हूं।

धन्यवाद


2
एक बार जब आप इसे डी करने में सक्षम हो जाते हैं, तो आप PATH पर अधिक परिष्कृत संचालन करना चाहते हैं: stackoverflow.com/questions/273909/…
dmckee

यूनिक्स या उबंटू साइटों पर है।
थॉमस ब्राट

जवाबों:


42

अपने पथ को स्थायी रूप से संग्रहीत करने के लिए, आपके पास कुछ विकल्प हैं।

मेरा सुझाव है कि आप पर्यावरण वैरिएबल्स पर उबंटू समुदाय की विकी पढ़ें, लेकिन संक्षिप्त उत्तर सबसे अच्छा स्थान है ~/.profileजो आपके प्रति-उपयोगकर्ता पैठ सेटिंग या /etc/profileवैश्विक सेटिंग्स के लिए है।

कुछ ऐसा करो export PATH=$PATH:/your/new/path/here


8
यह ध्यान रखना महत्वपूर्ण है कि ऐसे कई अवसर हैं जब आपकी प्रोफ़ाइल नहीं चलती है (जैसे कि जब कोई स्क्रिप्ट क्रोन द्वारा चलाई जाती है)। यदि आपको PATH में सेट होने के लिए एक विशिष्ट पथ की आवश्यकता है, तो एक स्क्रिप्ट को वह पथ सेट करना होगा। उस ने कहा, लिपियों को कभी भी अपने रास्तों में होने पर भरोसा नहीं करना चाहिए और हमेशा निरपेक्ष पथ का उपयोग करना चाहिए, कुछ भी एक सुरक्षा मुद्दा है।
चास। ओवेन्स

14
PATH=$PATH:newPath1:newPAth2
export PATH

3
मुझे लगता है कि यदि आप चाहें तो आप एक पंक्ति में यह सब कर सकते हैं। निर्यात PATH = $ PATH: newPath1: newPAth2

2
यह आपके द्वारा उपयोग किए जा रहे शेल पर निर्भर करता है। सोलारिस पर (मुझे पता है कि सवाल लिनक्स के बारे में है) गोले में से एक (यह याद नहीं कर सकता है कि मेरे सिर के ऊपर से कौन सा बंद है) आपको एक स्क्रिप्ट में मूल्य सेट करने से अलग से निर्यात करने की आवश्यकता है। तो मैं सिर्फ 2 लाइनों पर करने की आदत में पड़ गया हूं।
ग्लेन

7

आप इसे वैश्विक परिवेश में भी रख सकते हैं:

sudo emacs /etc/environment

अपने पथ में पहले से ही प्रविष्टियों को लागू करें

PATH="/path/to/file:/other/paths"

पर्यावरण को पुनः लोड करें

source /etc/environment

1
पर्यावरण फ़ाइल को संपादित करना एकमात्र तरीका था जिससे मैं पाथ को बदल सकता था और बदल सकता था।

2

यह पहले ही जवाब दे दिया गया है कि यह कैसे करना है, लेकिन मैं आपको थोड़ा टिप देना चाहूंगा। ये है जो मैं करता हूं:

मेरे पास एक निर्देशिका है जिसे .bash.dमेरे $HOMEअंदर बुलाया गया है और मैं शेल स्क्रिप्ट का एक सेट रखता हूं जो मेरे पर्यावरण के लिए सामान करता है (उदाहरण के लिए सेटअप मावेन सही ढंग से, पथ को संशोधित करें, मेरा प्रॉम्प्ट सेट करें)। मैं इसे git का उपयोग करके संस्करण नियंत्रण में रखता हूं , जिससे आपके env के एक कार्यशील संस्करण पर वापस जाना आसान हो जाता है, अगर आप किसी चीज को बहुत खराब करते हैं। सभी संशोधनों को प्राप्त करने के लिए, मैं बस अपने सभी फ़ाइलों को अपने .bashrc के अंत में इस तरह से स्रोत करता हूं।

for i in $HOME/.bash.d/*; do source $i; done
unset i

यह आपको एक बहुत ही लचीला वातावरण देता है जिसे आप आसानी से संशोधित कर सकते हैं और पुनर्स्थापित कर सकते हैं + आप इसे सिर्फ गिट का उपयोग करके अन्य मशीनों में निर्यात करने में सक्षम हैं।


1

ऊपर से एक प्रकार, यदि आप / etc / प्रोफाइल फ़ाइल को सीधे बदलना नहीं चाहते हैं। आप /etc/profile.d/ निर्देशिका में अपनी नई फ़ाइल yourpath.sh बना सकते हैं । फिर इस फ़ाइल को उस तरह संपादित करें। विम एडिटर के साथ (लेकिन किसी अन्य संपादक के साथ इसे संपादित करने के लिए स्वतंत्र महसूस करें): vim /etc/profile.d/yourpath.sh

MYPATH='/your/new/path/'
export MYPATH
export PATH=$PATH:$MYPATH

: w rite और q uit और ऐसा किया गया कि आपका मार्ग संशोधित हो गया है। यदि आपका टर्मिनल उपयोग कर रहा है, तो इसे बंद करें और इसे फिर से खोलें। आपका नया चर अपडेट किया जाएगा। अब यह क्लीनर है, आप इस फ़ाइल को तब निकाल सकते हैं जब आपको इसकी आवश्यकता नहीं है और यह प्रारंभिक कॉन्फ़िगरेशन में हस्तक्षेप नहीं करता है।


(1) जब तक PATHनिर्यात किया जाता है, MYPATHतब तक होने की आवश्यकता नहीं है (जब तक कि आपको अन्य उद्देश्यों के लिए इसकी आवश्यकता न हो)। (२) बचत करने (लिखने) और व्यर्थ में छोड़ने का त्वरित तरीका है ZZ- नहीं :या (दर्ज करें) की आवश्यकता है।
स्कॉट

0

इको पाथ = $ पाथ: पाथ १: पाथ २> टीएमपी

अपने पसंदीदा टेक्स्ट एडिटर के साथ फाइल tmp को संपादित करें ताकि PATH का मूल्य वही हो जो आप चाहते हैं

। ./tmp

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