लिनक्स में सिस्टम पथ में निर्देशिका कैसे जोड़ें

लिनक्स में, PATH पर्यावरण वैरिएबल उन रास्तों के नाम संग्रहीत करता है, जिन्हें कमांड लाइन में टाइप किए गए किसी भी कमांड की निष्पादन योग्य फाइलों के लिए खोजा जाएगा। पथ पर्यावरण चर का मान एक स्ट्रिंग है जिसमें विकर्णों की एक श्रृंखला होती है, प्रत्येक बृहदान्त्र द्वारा सीमांकित होती है। उदाहरण के लिए, एक विशिष्ट प्रणाली पर डिफ़ॉल्ट पथ इस तरह दिखाई दे सकता है:

 / Usr / स्थानीय / बिन: / usr / bin: / बिन: / usr / स्थानीय / खेल: / usr / खेल 

जब आप कमांड प्रॉम्प्ट में बिल्ली जैसे कमांड में टाइप करते हैं, तो आपका शेल बिल्ली नामक एक निष्पादन योग्य फ़ाइल के लिए इन निर्देशिकाओं में से प्रत्येक में दिखेगा। पहला जो इसे पाता है वह है जो इसे चलाता है।

अपने PATH पर्यावरण चर के वर्तमान मूल्य को देखने के लिए, आप इको कमांड का उपयोग कर सकते हैं। शेल में सभी चर के साथ, जब मूल्य के संदर्भ में आपको चर नाम से पहले एक डॉलर चिह्न लगाने की आवश्यकता होती है:

 $ PATH प्रतिध्वनि 

उपरोक्त उदाहरण में, पथ का वर्तमान मान आपको कमांड प्रॉम्प्ट पर लौटाता है।

अपने वर्तमान शेल सत्र के लिए PATH की स्थापना

आप PATH का मान सेट कर सकते हैं क्योंकि आप NAME = VALUE जैसे किसी अन्य शेल चर को इस तरह से करेंगे:

 पथ = / मेरी / पहले / पथ: मेरे / सेकंड / पथ 

इस कमांड के साथ समस्या यह है कि यह उन मूल्यों को पूरी तरह से अधिलेखित कर देगा जो आपने पहले किए थे, जो आप नहीं चाहते हैं। यदि आप पुराने के अलावा एक नया मान जोड़ना चाहते हैं। आप इसे नई परिभाषा में पथ का उल्लेख करके पूरा कर सकते हैं, जैसे:

 पथ = $ पथ: / मेरी / नई / पथ 

ऊपर दिए गए आदेश का उपयोग करने से PATH के वर्तमान मूल्य में आपका नया मार्ग जुड़ जाता है। चूंकि पथनाम क्रम में खोजे गए हैं, आप शायद अपने नए पथ को चर के अंत में जोड़ना चाहते हैं जैसा कि हमने यहां किया है। इसके बजाय, यदि आपने टाइप किया है:

 पथ = / मेरी / नई / पथ: $ पथ 

आपका नया पथ पहले खोजा जाएगा, उसके बाद नहीं, डिफ़ॉल्ट सिस्टम पथ।

पैठ पर्यावरण चर को बाल प्रक्रियाओं में पारित करने के लिए निर्यात का उपयोग करना

इस प्रकार की PATH परिभाषा आपके वर्तमान शेल सत्र के लिए पर्यावरण चर को निर्धारित करेगी, लेकिन आपके द्वारा चलाए जा रहे किसी भी नए प्रोग्राम में आपके द्वारा जोड़े गए नए पथ को नहीं देखा जा सकता है। ऐसा इसलिए है क्योंकि आपका शेल आपको अन्य प्रोग्राम और प्रक्रियाओं पर पर्यावरण चर को मैन्युअल रूप से घोषित करने की आवश्यकता के द्वारा पर्यावरण को नियंत्रित करने देता है। आप इसे निर्यात आदेश के साथ पूरा कर सकते हैं। यदि आप चलाते हैं:

 निर्यात PATH 

जब तक आप लॉग आउट नहीं करते तब तक चलने वाली कोई भी प्रक्रिया PATH के वर्तमान मूल्य का उपयोग करेगी।

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

 पथ = $ पाथ: / मेरा / नया / पथ: / मेरा / अन्य / नया / पथ; निर्यात पथ 

युक्ति: यदि आपके किसी भी मार्ग में रिक्त स्थान हैं, तो आपको उद्धरण चिह्नों में परिवर्तनशील परिभाषा को संलग्न करना चाहिए, बस होना चाहिए:

 पथ = "$ पथ: / पथनामें में / रिक्त स्थान डालना: / बनाता है / जीवन को बहुत / असुविधाजनक"; 

हर नए शेल सेशन के लिए PATH वैरिएबल सेट करना

अब तक हमने जिन तरीकों का उपयोग किया है, वे आपके वर्तमान शेल सत्र के लिए केवल पर्यावरण चर सेट करते हैं; जब आप टर्मिनल विंडो लॉगआउट करते हैं या बंद करते हैं, तो आपके परिवर्तन भूल जाएंगे। यदि आप PATH को हर बार लॉग इन करने या एक नया शेल सत्र शुरू करने के लिए निश्चित मूल्य पर सेट करना चाहते हैं, तो आपको इसे अपने बैश स्टार्टअप स्क्रिप्ट में जोड़ना चाहिए। हर बार जब आप एक इंटरैक्टिव शेल सत्र शुरू करते हैं, तो बैश निम्नलिखित फ़ाइलों को क्रम में पढ़ता है (यदि वे मौजूद हैं), और उनमें से प्रत्येक के कमांड को निष्पादित करता है:

/ etc / प्रोफ़ाइल ~ / .bash_profile ~ / .bash_login

~ / .Profile

पहली फ़ाइल, / etc / प्रोफाइल, सिस्टम पर प्रत्येक उपयोगकर्ता के लिए डिफ़ॉल्ट स्टार्टअप स्क्रिप्ट है। शेष तीन फ़ाइलों में से एक या अधिक हर उपयोगकर्ता की होम डायरेक्टरी में स्थित हैं। उन तीनों में से किसी का भी उपयोग किया जा सकता है, लेकिन यह जानना महत्वपूर्ण है कि उन्हें इस क्रम में खोजा जाएगा।

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

यदि आप अपने वर्तमान उपयोगकर्ता के लिए एक रास्ता जोड़ना चाहते हैं, तो आप अन्य PATH = लाइनों को अछूता छोड़ सकते हैं, और फ़ाइल के अंत में इस तरह एक पंक्ति जोड़ सकते हैं:

 पथ = "$ पथ: / नया / पथ"; निर्यात पथ 

यदि आप इसे अपने घरेलू निर्देशिका में .bash_profile फ़ाइल के अंत में जोड़ते हैं, तो यह तब प्रभावी होता है जब आपका उपयोगकर्ता नया शेल सत्र प्रारंभ करता है। यदि आप इसे / etc / प्रोफाइल में जोड़ते हैं, तो यह सिस्टम के प्रत्येक उपयोगकर्ता के लिए प्रभावी होता है। ध्यान दें कि आपको प्रशासक के विशेषाधिकारों की आवश्यकता है यदि आप संपादित करना चाहते हैं / etc / प्रोफाइल, तो आप ऐसा करने के लिए sudo (या रूट के रूप में लॉग इन करें) का उपयोग कर सकते हैं।