मैं कुछ स्थापित करने की कोशिश कर रहा हूं और उन चरणों के बीच यह एक था:
"इसे अपने पर रखें $PATH"
इसका क्या मतलब है? वो क्या है?
मैंने इस साइट और Google दोनों पर खोज की है, लेकिन हर कोई इसे केवल मान लेता है!
मैं कुछ स्थापित करने की कोशिश कर रहा हूं और उन चरणों के बीच यह एक था:
"इसे अपने पर रखें $PATH"
इसका क्या मतलब है? वो क्या है?
मैंने इस साइट और Google दोनों पर खोज की है, लेकिन हर कोई इसे केवल मान लेता है!
जवाबों:
टर्मिनल में चलाएँ:
echo $PATH
या
printf "%s\n" "$PATH"
आप जो देख रहे हैं वह निर्देशिकाओं की एक सूची है, जैसे:
/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
यदि आप इन निर्देशिकाओं में से किसी एक में निष्पादन योग्य लगाते हैं, तो आपको निष्पादन योग्य / स्क्रिप्ट के लिए पथ निर्धारित करने की आवश्यकता नहीं है, लेकिन आप इसे कमांड के रूप में इसके नाम से चला सकते हैं।
में निष्पादन योग्य $PATHनहीं होना चाहिए एक भाषा एक्सटेंशन प्रथा के अनुसार (हालांकि वे काम करेगा)
आप निम्न (स्थायी रूप से) $PATHअपनी ~/.profileफ़ाइल में निम्न पंक्ति जोड़कर (निर्देशिका डिफ़ॉल्ट रूप से, फ़ाइल प्रबंधक में Ctrl+ Hइसे दिखाई देने के लिए दबाकर ) एक निर्देशिका जोड़ सकते हैं :
export PATH=$PATH:/path/to/dir
(जैसे $PATH) यहाँ पाया जा सकता है (सुझावों के लिए धन्यवाद @ लिटिज़िया)
$PATHएक फ़ाइल स्थान संबंधित पर्यावरण चर है ।
जब कोई चलाने के लिए एक कमांड टाइप करता है, तो सिस्टम इसके लिए निर्दिष्ट निर्देशिका द्वारा निर्दिष्ट निर्देशिकाओं में देखता है PATH।
आप echo $PATHटर्मिनल में लिखकर निर्दिष्ट निर्देशिका देख सकते हैं ।
मान लीजिए कि एक निष्पादन योग्य फ़ाइल foobar01.shमौजूद है /home/user/foo1/foo2/foobar01.shजिस पर आप नियमित रूप से निष्पादित करना चाहते हैं। संपूर्ण "पथ" टाइप करने में समय लगेगा। इसलिए हम निर्देशिका को $PATHचर में जोड़ते हैं और हम foobar.shपथ निर्दिष्ट किए बिना भी सीधे निष्पादित कर सकते हैं ।
आप इसे $PATHनिम्न कमांड टाइप करके जोड़ सकते हैं
export PATH=$PATH:/home/user/foo1/foo2
मुझे लगता है कि आप एक विंडोज पृष्ठभूमि से आ रहे हैं (माफी अगर यह सच नहीं है)। आम आदमी की शर्तों में, एक पथ (या खोज पथ) उन निर्देशिकाओं की सूची है, जिन्हें किसी भी चीज़ के लिए खोजा जाएगा जिसे आप कमांड लाइन पर टाइप करते हैं। यदि आप ls जैसी अंतर्निहित कमांड में टाइप करते हैं, तो यह निर्देशिकाओं की एक निर्दिष्ट सूची के लिए दिखेगा। आप $ PATH echo टाइप करके अपना रास्ता देख सकते हैं। यहां विंडोज और * निक्स के बीच एक अंतर है: डिफ़ॉल्ट रूप से, विंडोज हमेशा वर्तमान निर्देशिका में निष्पादन योग्य फ़ाइल की तलाश करता है। उदाहरण के लिए, यदि आपके पास c: \ myscripts में uptime.bat नामक एक फाइल है, और आप cd: \ myscripts और uptime में टाइप करते हैं, तो यह चलेगा। हालांकि, * निक्स में, पथ से परामर्श किया जाएगा और निष्पादन योग्य पाया (यदि उपलब्ध हो)।
यदि आप अपनी स्क्रिप्ट्स को एक निर्देशिका / होम / टेरेसा / स्क्रिप्ट्स में रखते हैं, तो उन स्क्रिप्ट्स को निष्पादित करने के लिए, आपको उस निर्देशिका के लिए पूरा रास्ता बताना होगा। उदाहरण: / hone / teresa / checkHost। भिन्नता cd / home / teresa होगी और फिर टाइप करें ./checkHost (./ पर ध्यान दें) जिसका अर्थ है कि आप फ़ाइल को वर्तमान निर्देशिका से चलाने के लिए स्पष्ट रूप से पूछ रहे हैं।
इससे बचने के लिए, आप बस टाइप कर सकते हैं
निर्यात पथ = $ पथ: / घर / टेरेसा / लिपियाँ
जिसका अर्थ है कि, अब पहले से मौजूद पथ के अलावा, / hone / teresa / script में भी खोज करें। हालाँकि, इसके साथ समस्या यह है कि एक बार जब आप लॉगआउट करते हैं, तो यह सेटिंग चली जाएगी। तो, आपको छिपी हुई फ़ाइल को संपादित करना चाहिए ~ / .bashrc, वहां पाथ लाइन ढूंढें, और तदनुसार इसे जोड़ें। मैं मान रहा हूं कि आप बैश का उपयोग करें। अन्य गोले के मामले में, वाक्यविन्यास और फ़ाइल अलग हैं।
एक नए उपयोगकर्ता के रूप में, यह बहुत लुभावना है। खोज पथ में, जिसका मूल अर्थ है कि वर्तमान निर्देशिका में भी खोज। हालांकि, कि कहीं और चर्चा के कारणों के लिए एक अच्छा अभ्यास नहीं माना जाता है।
HTH