$ PATH का क्या अर्थ है?


28

मैं कुछ स्थापित करने की कोशिश कर रहा हूं और उन चरणों के बीच यह एक था:

"इसे अपने पर रखें $PATH"

इसका क्या मतलब है? वो क्या है?

मैंने इस साइट और Google दोनों पर खोज की है, लेकिन हर कोई इसे केवल मान लेता है!



2
@ मौरू नहीं, मैंने उस प्रश्न को पढ़ा है और इसमें मेरा कुछ भी नहीं है। साथ ही यह सवाल बिल्कुल भी मददगार नहीं था।
एडम

4
@ मुझे लगता है कि सवाल यह नहीं है कि कैसे जोड़ना है (या मुझे गलतफहमी हो सकती है कि इसका मतलब क्या है "इसे अपने $ पेट पर रखें")।
जैकब व्लिजम

1
@JacobVlijm आप सही हैं यह नहीं है।
एडम

2
समझा। ठीक है। सम्बंधित; Askubuntu.com/q/141718/158442
एमआरयू

जवाबों:


24

टर्मिनल में चलाएँ:

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 चर का संपादन

आप निम्न (स्थायी रूप से) $PATHअपनी ~/.profileफ़ाइल में निम्न पंक्ति जोड़कर (निर्देशिका डिफ़ॉल्ट रूप से, फ़ाइल प्रबंधक में Ctrl+ Hइसे दिखाई देने के लिए दबाकर ) एक निर्देशिका जोड़ सकते हैं :

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

पर्यावरण चर पर अधिक उपयोगी जानकारी

(जैसे $PATH) यहाँ पाया जा सकता है (सुझावों के लिए धन्यवाद @ लिटिज़िया)


हम यह सुझाव दे सकते हैं कि इसे कैसे बदला जाए।
लेटी

और यह एक उपयोगी है लिंक शुरुआती के लिए
Lety

@Letizia मैं पहले वाले को पसंद करूंगा। क्या आपने अपना उत्तर हटा दिया? हम एक ही समय में बहुत ज्यादा थे। हम एक अच्छी तरह से फैला हुआ संयोजन बना सकते थे :)
याकूब Vlijm

हां, मैंने पहले ही कर दिया है, मेरा उत्तर हटा दिया गया है और मुझे लगा कि आपके लिए बेहतर योगदान है। मेरी टिप्पणी के बारे में आप क्या सोचते हैं?
लेटली

@Letizia टिप्पणी = सही, मैं संपादित करूँगा। धन्यवाद!
जैकब व्लिजम

6

$PATHएक फ़ाइल स्थान संबंधित पर्यावरण चर है

जब कोई चलाने के लिए एक कमांड टाइप करता है, तो सिस्टम इसके लिए निर्दिष्ट निर्देशिका द्वारा निर्दिष्ट निर्देशिकाओं में देखता है PATH

आप echo $PATHटर्मिनल में लिखकर निर्दिष्ट निर्देशिका देख सकते हैं ।

मान लीजिए कि एक निष्पादन योग्य फ़ाइल foobar01.shमौजूद है /home/user/foo1/foo2/foobar01.shजिस पर आप नियमित रूप से निष्पादित करना चाहते हैं। संपूर्ण "पथ" टाइप करने में समय लगेगा। इसलिए हम निर्देशिका को $PATHचर में जोड़ते हैं और हम foobar.shपथ निर्दिष्ट किए बिना भी सीधे निष्पादित कर सकते हैं ।

आप इसे $PATHनिम्न कमांड टाइप करके जोड़ सकते हैं

export PATH=$PATH:/home/user/foo1/foo2


2

मुझे लगता है कि आप एक विंडोज पृष्ठभूमि से आ रहे हैं (माफी अगर यह सच नहीं है)। आम आदमी की शर्तों में, एक पथ (या खोज पथ) उन निर्देशिकाओं की सूची है, जिन्हें किसी भी चीज़ के लिए खोजा जाएगा जिसे आप कमांड लाइन पर टाइप करते हैं। यदि आप ls जैसी अंतर्निहित कमांड में टाइप करते हैं, तो यह निर्देशिकाओं की एक निर्दिष्ट सूची के लिए दिखेगा। आप $ PATH echo टाइप करके अपना रास्ता देख सकते हैं। यहां विंडोज और * निक्स के बीच एक अंतर है: डिफ़ॉल्ट रूप से, विंडोज हमेशा वर्तमान निर्देशिका में निष्पादन योग्य फ़ाइल की तलाश करता है। उदाहरण के लिए, यदि आपके पास c: \ myscripts में uptime.bat नामक एक फाइल है, और आप cd: \ myscripts और uptime में टाइप करते हैं, तो यह चलेगा। हालांकि, * निक्स में, पथ से परामर्श किया जाएगा और निष्पादन योग्य पाया (यदि उपलब्ध हो)।

यदि आप अपनी स्क्रिप्ट्स को एक निर्देशिका / होम / टेरेसा / स्क्रिप्ट्स में रखते हैं, तो उन स्क्रिप्ट्स को निष्पादित करने के लिए, आपको उस निर्देशिका के लिए पूरा रास्ता बताना होगा। उदाहरण: / hone / teresa / checkHost। भिन्नता cd / home / teresa होगी और फिर टाइप करें ./checkHost (./ पर ध्यान दें) जिसका अर्थ है कि आप फ़ाइल को वर्तमान निर्देशिका से चलाने के लिए स्पष्ट रूप से पूछ रहे हैं।

इससे बचने के लिए, आप बस टाइप कर सकते हैं

निर्यात पथ = $ पथ: / घर / टेरेसा / लिपियाँ

जिसका अर्थ है कि, अब पहले से मौजूद पथ के अलावा, / hone / teresa / script में भी खोज करें। हालाँकि, इसके साथ समस्या यह है कि एक बार जब आप लॉगआउट करते हैं, तो यह सेटिंग चली जाएगी। तो, आपको छिपी हुई फ़ाइल को संपादित करना चाहिए ~ / .bashrc, वहां पाथ लाइन ढूंढें, और तदनुसार इसे जोड़ें। मैं मान रहा हूं कि आप बैश का उपयोग करें। अन्य गोले के मामले में, वाक्यविन्यास और फ़ाइल अलग हैं।

एक नए उपयोगकर्ता के रूप में, यह बहुत लुभावना है। खोज पथ में, जिसका मूल अर्थ है कि वर्तमान निर्देशिका में भी खोज। हालांकि, कि कहीं और चर्चा के कारणों के लिए एक अच्छा अभ्यास नहीं माना जाता है।

HTH

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