लिनक्स में $PATH वैरिएबल कैसे सेट करें

$PATH चर Linux और अन्य यूनिक्स जैसे ऑपरेटिंग सिस्टम पर एक महत्वपूर्ण घटक है। यह निर्देशिकाओं की एक सूची निर्दिष्ट करता है जो सिस्टम पर विभिन्न निष्पादन योग्य रखता है और शेल को बताता है कि इन निष्पादन योग्य फ़ाइलों को कहां देखना है।

एक नए लिनक्स इंस्टॉलेशन पर, $PATH में शामिल निर्देशिका यह सुनिश्चित करती है कि आपके द्वारा चलाए जाने वाले अधिकांश प्रोग्राम त्रुटिपूर्ण रूप से काम करते हैं। हालांकि, कई बार ऐसा भी हो सकता है कि आप अपने सिस्टम पर कस्टम स्क्रिप्ट या प्रोग्राम को जल्दी से चलाना चाहें।

ऐसे मामलों में, आपको उन प्रोग्रामों को चलाने से पहले $PATH चर को उचित रूप से सेट करना होगा।

लिनक्स में $PATH क्या है?

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

आमतौर पर, $PATH चर में /bin , /usr/bin , और /usr/local/bin निर्देशिकाएं शामिल होती हैं, जिसमें सुपरयूज़र को दो और प्रविष्टियां मिलती हैं , अर्थात् /sbin और /usr/sbin । हालाँकि, आप अपने $PATH चर में नई प्रविष्टियाँ जोड़ सकते हैं ताकि वर्तमान कार्यशील निर्देशिका के बावजूद टर्मिनल से स्क्रिप्ट और प्रोग्राम को आसानी से लॉन्च किया जा सके।

आप $PATH क्यों सेट करना चाहेंगे?

कुल मिलाकर, आपके Linux सिस्टम पर चलाए जाने वाले अधिकांश प्रोग्राम त्रुटिपूर्ण ढंग से काम करेंगे, और आपके शेल में उनके निष्पादन के समय कोई त्रुटि नहीं होगी। उदाहरण के लिए, जब आप ls कमांड चलाते हैं, तो शेल आपको कमांड के पूर्ण पथ को निर्दिष्ट करने की आवश्यकता के बिना इसे त्रुटि-मुक्त चलाता है।

हालाँकि, जब आपको एक कस्टम स्क्रिप्ट चलानी होती है, तो आप निष्पादन कमांड की घोषणा नहीं कर सकते जैसा आपने पहले ls कमांड के साथ किया था। इसके बजाय, आपको क्या करना होगा या तो स्क्रिप्ट की निर्देशिका (टर्मिनल के माध्यम से) पर नेविगेट करना होगा और वहां से कमांड चलाना होगा, या, यदि आप सिस्टम पर कहीं से भी कमांड चलाने की क्षमता चाहते हैं, तो स्क्रिप्ट का पूर्ण पथ निर्दिष्ट करें शेल को खोजने में मदद करने के लिए कमांड।

संबंधित: सीडी कमांड का उपयोग करके लिनक्स में निर्देशिका कैसे बदलें

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

लिनक्स में $PATH वैरिएबल कैसे सेट करें

आप जो हासिल करना चाहते हैं उसके आधार पर — क्या यह केवल एक बार स्क्रिप्ट चलाने के लिए एक अस्थायी सेटअप है या आप नियमित आधार पर स्क्रिप्ट का उपयोग करने की योजना बना रहे हैं — आपके $PATH में निर्देशिका जोड़ने के विभिन्न तरीके हैं।

1. अस्थायी रूप से $PATH चर सेट करना

यदि आप केवल अपने वर्तमान (सक्रिय) सत्र में कोई स्क्रिप्ट या प्रोग्राम चलाना चाहते हैं, तो आप एक अस्थायी $PATH चर सेट करना चुन सकते हैं। जब आप ऐसा करते हैं, तो आप अपने सिस्टम पर कहीं से भी कमांड के साथ उस प्रोग्राम को कमांड में पूरा पथ शामिल किए बिना निष्पादित करने में सक्षम होंगे, लेकिन केवल वर्तमान सत्र में।

अस्थायी रूप से $PATH चर सेट करने के लिए, टर्मिनल खोलें और चर में निर्देशिका जोड़ने के लिए निम्न सिंटैक्स का उपयोग करें:

 export PATH=$PATH:/path/to/directory

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

 export PATH=$PATH:/home/smithy/scripts/

ध्यान दें कि इस कॉन्फ़िगरेशन के साथ, आप केवल अपने सक्रिय सत्र में ही प्रोग्राम चला सकते हैं। जब आप अपना $PATH चर अस्थायी रूप से सेट करते हैं, तो आपके कंप्यूटर को पुनरारंभ करने के बाद सिस्टम इसे वापस डिफ़ॉल्ट सेटिंग पर रीसेट कर देगा।

2. एक स्थायी $PATH चर सेट करना

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

अस्थायी समाधान के विपरीत, हालांकि, $PATH को स्थायी रूप से सेट करने में कुछ अतिरिक्त चरण शामिल हैं: आपके द्वारा उपयोग किए जा रहे शेल की पहचान करें, संबंधित कॉन्फ़िगरेशन फ़ाइल को संपादित करें, और वहां $PATH चर सेट करें।

अपने सिस्टम पर शेल की पहचान करने के लिए, टर्मिनल में निम्न कमांड चलाएँ:

 echo $0

आपको अपने सक्रिय शेल का नाम आउटपुट के रूप में देखना चाहिए। ज्यादातर मामलों में, यह बैश शेल होगा , जब तक कि आपने इसे Zsh, Ksh, या किसी अन्य लिनक्स शेल में नहीं बदला है।

अब, आपके द्वारा उपयोग किए जा रहे शेल के आधार पर, आपको इसकी कॉन्फ़िगरेशन फ़ाइल को संपादित करना होगा। यहां बताया गया है कि आपको अपने शेल के आधार पर किस फाइल को संपादित करना है:

शैल नाम विन्यास फाइल
दे घुमा के ~/.bashrc
क्ष ~/.kshrc
ज़शो ~/.zshrc
सीएसएचओ ~/.cshrc

किसी अन्य शेल के मामले में, इसके कॉन्फ़िगरेशन फ़ाइल नाम का पता लगाने के लिए इसके दस्तावेज़ देखें।

एक बार जब आप उस फ़ाइल को निर्धारित कर लेते हैं जिसे आपको संपादित करने की आवश्यकता है, तो $PATH चर सेट करने के लिए नीचे दिए गए चरणों का पालन करें। इस गाइड में, हम यह प्रदर्शित करेंगे कि बैश शेल में $PATH वैरिएबल को कैसे सेट किया जाए।

  1. टर्मिनल खोलें और .bashrc फ़ाइल खोलने के लिए निम्न कमांड दर्ज करें। आप अपनी पसंद के किसी भी लिनक्स टेक्स्ट एडिटर का उपयोग कर सकते हैं।
     nano ~/.bashrc
  2. $PATH चर सेट करने के लिए निम्न सिंटैक्स का उपयोग करें।
     export PATH=$PATH:/path/to/directory/
  3. फ़ाइल को सहेजें और स्रोत का उपयोग करके वर्तमान शेल वातावरण को अपडेट करें।
     source ~/.bashrc
  4. निर्देशिका जोड़ी गई है या नहीं यह जांचने के लिए निम्न आदेश टाइप करें।
     echo $PATH

यदि आपने निर्देशिका पथ को सही ढंग से दर्ज किया है, तो यह आपके सिस्टम के $PATH में प्रतिबिंबित होगा, और आपको अपने सिस्टम पर किसी भी निर्देशिका से फ़ोल्डर के अंदर सभी स्क्रिप्ट चलाने में सक्षम होना चाहिए।

इसके अलावा, लिनक्स आपको $PATH वैरिएबल को सिस्टम-वाइड कॉन्फ़िगरेशन में स्थायी रूप से सेट करने की अनुमति देता है ताकि आपके सिस्टम पर प्रत्येक उपयोगकर्ता निर्दिष्ट निर्देशिका में मौजूद कस्टम स्क्रिप्ट तक पहुंच और निष्पादित कर सके।

वैश्विक स्तर पर $PATH सेट करने के लिए, आपको उसी कमांड का उपयोग करके निर्देशिका को जोड़ना होगा जिसका उपयोग आपने अस्थायी और स्थायी सेटअप जोड़ते समय किया था, लेकिन या तो /etc/environment या /etc/profile फ़ाइल में।

इनमें से कोई भी फाइल खोलें और निर्देशिका का पथ संलग्न करें:

 nano /etc/environment
nano /etc/profile

लिनक्स में $PATH को सफलतापूर्वक सेट करना

उपरोक्त चरणों के साथ, आप निर्देशिकाओं में स्क्रिप्ट देखने के लिए अपने सिस्टम के $PATH को सेट कर सकते हैं, अन्यथा, अनिर्दिष्ट।

अधिकांश मामलों के लिए, हम अनुशंसा करते हैं कि आप अपने सिस्टम पर $PATH चर को स्थायी रूप से प्रति-उपयोगकर्ता कॉन्फ़िगरेशन में सेट करें क्योंकि यह दो विधियों में से सबसे कुशल तरीका है।

साथ ही, ध्यान रखें कि जब तक आपके सिस्टम पर कोई विशिष्ट प्रोग्राम नहीं है जिसे आप विश्व स्तर पर एक्सेस करना चाहते हैं, आपको $PATH वैरिएबल को सिस्टम-वाइड कॉन्फ़िगरेशन में सेट करने की आवश्यकता नहीं होगी। यदि आप $PATH चर में जोड़ने के लिए स्रोत निर्देशिका ढूंढते समय समस्याओं का सामना कर रहे हैं, तो Linux में ढूँढें और खोजें कमांड एक जीवन रक्षक हैं।