मैं Ubuntu में अपने डिफ़ॉल्ट मूल्य पर $ PATH को कैसे रीसेट कर सकता हूं?


31

मैं सभी की निर्देशिका गलती से सेट नहीं $PATHमें एक नया जोड़ने का प्रयास करते ~/.bashrc। मैंने संपादन के रूप में एक नई टर्मिनल विंडो खोली और अब $PATHखाली है। अगर मैं दूसरे ड्राइव से बूट करने के लिए चिंतित हूं, तो मैं $PATHइस ड्राइव में फिर से बूट नहीं कर पाऊंगा।

मूल रूप से, का डिफ़ॉल्ट परिणाम क्या है echo $PATH?


1
उस निर्यात लाइन पर टिप्पणी करें या ठीक करें और आपको जाने के लिए अच्छा होना चाहिए।
पैंथर

~/.bashrcहालांकि पर्यावरण चर सेट करने के लिए गलत जगह है। आपको ~/.profileइसके बजाय ऐसा करना चाहिए ।
जिरह

हाँ मुझे लगा। अन्य टर्मिनल विंडो में PATH अभी भी ठीक है, जो नए से पहले खुली थी, इसलिए बस :$PATHअंत में जोड़कर निर्यात लाइन को ठीक करना PATH को बहाल किया। और हाँ ~/.profile"PATH सेट करने के लिए कोड है" तो इसमें उपयोगकर्ता के निजी बिन शामिल हैं यदि यह मौजूद है "$HOME/bin
Cee

जवाबों:


35

आपके प्रश्न का उत्तर है:

PATH=$(getconf PATH)

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

PATH+=:$mynewdir

sed: No such file or directoryबहुत लंबे समय से चल रही प्रक्रिया (यानी, मैं पुनः आरंभ नहीं कर सका) के दौरान गलती से अपने पैट को सेट करने के बाद मुझे बहुत सारी कमांड ( परेशानी का प्रकार) का उपयोग करने में परेशानी हुई। मैं उपयोग नहीं कर सका getconf। अपने पथ को रीसेट करने के लिए, मैंने उपयोग किया $(export $(cat /etc/environment)":/usr/bin/additional:/usr/bin/paths")। जिज्ञासु के लिए: /etc/environmentवह जगह है जहाँ PATH चर को शुरू में कई लिनक्स फ्लेवर में सेट किया जाता है।
निक बुल

2
वह काम मुझे चौंका देगा। शायद आसपास के "$ (...)" सामान के बिना "निर्यात" हो सकता है, लेकिन यह वही होगा जो कुछ भी होगा। "स्रोत / आदि / .." का उपयोग करें। वैसे भी, कोशिश करें "/ usr / bin / getconf" अगर आपको "getconf" भी नहीं मिल रहा है।
ब्रूस

पूर्ण पथ का उपयोग करके अपने अंतिम विचार को प्राथमिकता दें! उत्तर के लिए धन्यवाद
निक बुल

1
यदि PATH चर खाली है, तो PATH=$(getconf PATH)उपयोगी नहीं होगा , लेकिन केवल परिणामbash: getconf: No such file or directory
Max N

1
यदि PATH खाली है, तो ऊपर टिप्पणी पर ध्यान दें: "/ usr / bin / getconf" का प्रयास करें। यदि वह काम नहीं करता है, तो आपको यह सीखने की ज़रूरत है कि आपका सिस्टम अपने POSIX कमांड को कैसे चुराता है और उस निर्देशिका का उपयोग करता है।
ब्रूस

17

आप इसे / etc / पर्यावरण पर पा सकते हैं:

$ /usr/bin/cat /etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

तो, बस इसे स्रोत:

$ source /etc/environment 
$ echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

1
बिल्ली आपके जवाब में इस तरह से काम नहीं करेगी, क्योंकि कोई $ PATH नहीं है
जोसेफ क्लिमुक

आप सही हे। मैंने सिर्फ जवाब को संशोधित किया। धन्यवाद!
मैनुअल जीसस रोड्रिगेज

8

जोड़ना: निर्यात लाइन के अंत में $ PATH जैसे समस्या को ठीक किया export PATH=<directory to be added>:$PATH

मैं इस लाइन को ~/.bash_rcफाइल के बजाय फाइल में जोड़ता हूं , ~/.profileताकि मैं एक नए टर्मिनल में तुरंत प्रभाव देख सकूं और अन्य कारणों के लिए यहां जानकारी के आधार पर: https://superuser.com/questions/176404/linux-bash-not- लोड हो रहा है प्रोफ़ाइल में नए सत्र

मेरे लिए, echo $PATHनई निर्देशिका को जोड़ने से पहले डिफ़ॉल्ट आउटपुट है:

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


3

डिफ़ॉल्ट पथ है

/home/_username_/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games 

आशा है कि यह आपकी मदद करता है


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