$ PATH’i Ubuntu’da varsayılan değerine nasıl sıfırlayabilirim?


31

$PATHYeni bir tane eklemeye çalışırken yanlışlıkla tüm dizinleri ayarlayacağım ~/.bashrc. Düzenlerken yeni bir terminal penceresi açtım ve şimdi $PATHboş. Başka bir sürücüden önyükleme yaptığımda endişeleniyorum $PATH, bu sürücüye yeniden ön yükleme yapamayacağım.

Temel olarak, varsayılan sonuç echo $PATHnedir?


1
Bu ihracat hattını yorumlayın veya düzeltin ve gitmeniz iyi olur.
Panter

~/.bashrcOrtam değişkenlerini ayarlamak için yanlış yer olsa da. Bunun ~/.profileyerine bunu yapmalısın .
geirha

Evet anladım. PATH, yenisinden önce açılan diğer terminal penceresinde hala gayet iyi, bu yüzden sadece :$PATHsonuna ekleyerek ihracat hattını düzeltmek PATH’i restore etti. Ve evet, ~/.profileorada "PATH olarak ayarlandıysa, kullanıcının varsa, özel çöp kutusunu da içermesini" sağlayacak kod var$HOME/bin
Cee

Yanıtlar:


35

Sorunuzun cevabı:

PATH=$(getconf PATH)

ve POSIX uyumlu herhangi bir sistemde çalışır. Seçilen cevap, önceden mevcut içeriği yok etmeden yolu güçlendirmenin doğru yoludur. Bash kullanıyorsanız, şunları düşünebilirsiniz:

PATH+=:$mynewdir

sed: No such file or directoryÇok uzun süren bir işlem sırasında PATH'imi yanlışlıkla hiçbir şey olarak ayarladıktan sonra (yani, yeniden başlayamadım) çok fazla komut kullanmakta zorlandım ( sorun türü). Kullanamadım getconf. Yolumu sıfırlamak için kullandım $(export $(cat /etc/environment)":/usr/bin/additional:/usr/bin/paths"). Meraklı için: /etc/environmentPATH değişkeninin başlangıçta birçok Linux tadında olduğu yerdir.
Nick Bull

2
Bu çalışma beni şaşırtacaktı. Belki "$ (...)" çevreleyen olmadan "ihracat" şeyler olabilir, ama ne olursa olsun orada olacak. "Kaynak / etc / .." kullanın. Her neyse, "/ usr / bin / getconf" komutunu deneyin, eğer "getconf" bile bulamazsanız.
Bruce,

Nihai fikirde, tam yolu kullanarak benim görüşümden çok daha fazlası! Cevap için teşekkürler
Nick Bull

1
PATH değişkeni boşsa, o PATH=$(getconf PATH)zaman faydalı olmayacak , ancak yalnızca bash: getconf: No such file or directory
N N

1
PATH boşsa, yukarıdaki yorumu not edin: "/ usr / bin / getconf" komutunu deneyin. Bu işe yaramazsa, sisteminizin POSIX komutlarını nerede sakladığını öğrenmeniz ve bu dizini kullanmanız gerekir.
Bruce,

17

/ Etc / Environment'de bulabilirsiniz:

$ /usr/bin/cat /etc/environment

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

Yani, sadece kaynak:

$ source /etc/environment 
$ echo $PATH

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

1
kedi, sizin cevabınızdaki gibi çalışmaz, çünkü $ PATH yoktur
Josef Klimuk

Haklısın. Ben sadece cevabı değiştirdim. Teşekkür ederim!
Manuel Jesus Rodriguez

8

Ekleme: İhracat hattının sonuna $ PATH sorunu çözdü; export PATH=<directory to be added>:$PATH

Bu satırı ~/.bash_rcdosya yerine dosyaya ekliyorum , ~/.profileböylece etkiyi hemen yeni bir terminalde ve buradaki bilgilere dayanarak başka nedenlerle görebiliyorum: https://superuser.com/questions/176404/linux-bash-not- yükleme profilli-in-yeni-oturumda

Benim echo $PATHiçin yeni dizini eklemeden önceki varsayılan çıktı :

/ Usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin / sbin: / bin: / usr / oyunlar


3

Varsayılan yol

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

Umarım bu size yardımcı olur


Bu benim varsayılan PATH'imden farklı. Aşağıya bakınız.
Cee
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.