जब आप बैश स्क्रिप्ट बनाते हैं और उसे किसी फ़ोल्डर में सहेजते हैं, तो आप पाएंगे कि आप इसे केवल तभी निष्पादित कर सकते हैं जब आप उस फ़ोल्डर में हों। क्या आपने कभी नोटिस किया है कि कैसे ls
, imagemagick
, apache
, और squid
विभिन्न निर्देशिकाओं में स्थापित किया जा सकता है लेकिन हर जगह पहुंच योग्य है? ऐसा इसलिए है क्योंकि उनके अलग-अलग पथ "पथ" चर में जोड़े गए हैं। इसमें और पथ जोड़कर, आप अपनी स्क्रिप्ट को हर जगह निष्पादन योग्य भी बना सकते हैं।
बैश में पथ जोड़ना
शुरू करने से पहले, हमें यह समझाना चाहिए कि लिनक्स सुरक्षा कैसे काम करती है, इसके लिए धन्यवाद, आप पथ को तीन अलग-अलग स्तरों पर बदल सकते हैं। बैश उनमें से पहला है। हम यहां जो कुछ भी देखते हैं वह बैश और उसमें चलने वाली हर चीज को प्रभावित करेगा, लेकिन "बैश के बाहर" कोई प्रभाव नहीं पड़ेगा।
मान लें कि आपके पास एक फ़ोल्डर में स्क्रिप्ट का एक संग्रह है जिसे आप हर जगह से एक्सेस करना चाहते हैं।
इसे दूर करने के लिए, आप उनका पथ "~/.bashrc" में जोड़ सकते हैं। आप gedit जैसे अपने पसंदीदा टेक्स्ट एडिटर में “.bashrc” फ़ाइल (यह आपकी होम निर्देशिका में है, लेकिन डिफ़ॉल्ट रूप से छिपी हुई है) खोल सकते हैं।
फ़ाइल के बिल्कुल अंत में जाएं और जोड़ें:
export PATH="/path_of/the_folder_we/want_to_add_to:$PATH"
उदाहरण के लिए, यदि आप अपनी निष्पादन योग्य स्क्रिप्ट को "/home/myname/scripts" फ़ोल्डर में रखते हैं, तो कमांड होगा:
export PATH="/home/myname/scripts:$PATH"
परिवर्तनों को पंजीकृत करने के लिए, फ़ाइल को सहेजें, टेक्स्ट एडिटर से बाहर निकलें और फिर अपने टर्मिनल में टाइप करें:
source ~/.bashrc
उसके बाद, विभिन्न निर्देशिकाओं में जाएँ और वहाँ से अपनी स्क्रिप्ट चलाने का प्रयास करें।
अपनी प्रोफ़ाइल में पथ जोड़ना
यदि आप चाहते हैं कि आपके फ़ोल्डर की सामग्री बैश की बाधाओं के बाहर से सुलभ हो, तो इसे इसके बजाय प्रोफ़ाइल चर में जोड़ें।
अपने पसंदीदा टेक्स्ट एडिटर के साथ ".profile" फ़ाइल खोलें।
फ़ाइल के अंत में, दर्ज करें:
export PATH="$PATH:$HOME/scripts"
परिवर्तनों को सक्षम करने के लिए आपको लॉगआउट करना होगा और पुनः लॉगिन करना होगा।
उबंटू और उसके डेरिवेटिव में, यह सुझाव दिया जाता है कि आप ".profile" के बजाय ".pam पर्यावरण" फ़ाइल को संपादित करें।
टेक्स्ट एडिटर में “.pam_environment” फ़ाइल खोलें। अगर फ़ाइल मौजूद नहीं है, तो इसे बनाएं।
इसमें दर्ज करें:
PATH DEFAULT=${PATH}:/home/@{PAM_USER}/scripts
ध्यान दें कि पूरी तरह से हार्डकोड किए गए पथ के बजाय, और प्रोफ़ाइल फ़ाइल के विपरीत, यहां हम एक चर का उपयोग करते हैं। इस तरह, प्रत्येक उपयोगकर्ता का "/home/USER_NAME/scripts" फ़ोल्डर उनके पथ में जुड़ जाएगा।
".प्रोफ़ाइल" फ़ाइल को संपादित करते समय, परिवर्तनों को प्रभावी होने के लिए आपको लॉग आउट करना होगा और पुनः लॉगिन करना होगा।
पर्यावरण में पथ जोड़ना
एक फ़ोल्डर की सामग्री को एक ही कंप्यूटर साझा करने वाले कई उपयोगकर्ताओं से एक्सेस करने का उचित तरीका इसे पर्यावरण पथ चर में जोड़ना है। एक टर्मिनल को फायर करें और दर्ज करें:
sudo nano /etc/environment
पथ चर में उद्धरण चिह्नों में फ़ोल्डरों का एक समूह होता है, जो कोलन द्वारा विभाजित होता है:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin"
उस सूची में अपना स्वयं का फ़ोल्डर शामिल करने के लिए, अंतिम पथ के ठीक बाद, समापन उद्धरण चिह्न से पहले, एक कोलन और अपने फ़ोल्डर का पथ दर्ज करें। यदि आपका फ़ोल्डर फिर से "/home/your_username/scripts" था, तो यह इस तरह दिखना चाहिए:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/YOUR_USERNAME/scripts"
ध्यान दें कि यह कैप में नहीं होना चाहिए - हमने उनका उपयोग जोर देने के लिए किया है, यह पहचानने में सहायता के लिए कि आपको अपना फ़ोल्डर कहां और कैसे शामिल करना चाहिए।
पहले की तरह, लॉग आउट करें और परिवर्तनों को लागू करने के लिए पुनः लॉगिन करें।
उपरोक्त तरकीबों से, आप अपनी स्क्रिप्ट को Linux में कहीं से भी चलाने में सक्षम होंगे।
संबंधित:
- Kmdr के साथ टर्मिनल में कमांड की व्याख्या कैसे प्राप्त करें
- अपने कमांड लाइन इतिहास को खोजने का एक बेहतर तरीका
- Linux Newbies के लिए बेसिक बैश कमांड