डिफ़ॉल्ट $ PATH मान क्या हैं?


जवाबों:


18

एक डिफ़ॉल्ट उबंटू डेस्कटॉप इंस्टाल पर $PATHहै:

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

लेकिन कम से कम चेरोट वातावरण द्वारा बनाई गई debootstrap, में $PATHकेवल शामिल हैं:

# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin

5

पर्यावरण पथ मानों को ubuntu में .bashrc फ़ाइल में संग्रहीत किया जाता है ।

सिस्टम-वाइड PATH वैरिएबल में परिभाषित किया गया है /etc/environment


3

पथ शेलीन हैं जो गोले हैं

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

तब Ubuntu के लिए डिफ़ॉल्ट पथ है:

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

3

यह पता लगाने का एक आसान तरीका है:

printenv

या, अधिक सीधे:

echo $PATH

लेकिन, अगर आप सिर्फ कुछ त्वरित जानकारी की तलाश में हैं, तो उबंटू आम तौर पर निम्नलिखित के लिए रास्ता तय करता है:

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

इस तरह के सवालों के लिए, आप आमतौर पर बाइबल पढ़कर जवाब खोद सकते हैं ।


2

आपके द्वारा उपयोग किए जा रहे लिनक्स के आधार पर, यह भिन्न हो सकता है। यदि आपके पास पहले से ही एक लिनक्स है, तो अपने पर्यावरण चर को देखने के लिए केवल 'env' टाइप करें।

यदि आप जानना चाहते हैं कि PATH env वैरिएबल कैसे बन रहा है, तो अपने होम डायरेक्टरी में .bashrc और .bash_profile पर एक नज़र डालें। अधिक उत्सुक होने पर, आप / etc / profile, /etc/profile.d/* (यदि मौजूद है) और bash (मैन बैश) के लिए मैनुअल देख सकते हैं।


2

bashसेट हो जाएगा PATHएक हार्ड-कोडेड डिफ़ॉल्ट मान पर अगर यह वातावरण में सेट नहीं कर रहा है:

$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.

हम जांच सकते हैं कि यह मान वास्तव में हार्ड-कोडेड है, और stringsउपयोगिता का उपयोग करके पर्यावरण या कुछ फ़ाइल से नहीं पढ़ा गया है:

$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.

हालाँकि, मुझे अपने Arch Linux मशीन पर एक अलग परिणाम मिलता है:

$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin

तो, ऐसा लगता है कि bashबाइनरी के निर्माण के समय यह डिफ़ॉल्ट चुना गया है, जो उपयोग में लिनक्स वितरण पर निर्भर करता है।


यह एकमात्र उत्तर है जो शेल का उल्लेख करता है, और वितरण। मैं इस सवाल पर अड़ गया क्योंकि मैं ubuntu कंटेनरों में पैट मुद्दों को सुलझा रहा हूं। और "डिफ़ॉल्ट पथ" शेल (बैश, श, इत्यादि) पर निर्भर करेगा और क्या यह अंतःक्रियात्मक रूप से लोड किया गया है या नहीं, और यह लॉगिन शेल है या नहीं। यह आसान जवाब नहीं है। बाइनरी में हार्डकोड स्ट्रिंग्स के उल्लेख के लिए यश।
init_js

1

डिफ़ॉल्ट पथ का उपयोग करने के लिए उत्तर में वर्णित अन्य का उपयोग करें:

echo $PATH

उपयोग संपादित करने के लिए:

gedit ~/.bashrc

इस डिफ़ॉल्ट PATHचर के तहत परिभाषित कर रहे हैं /etc/enviroment

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