Jak zresetować $ PATH?

14

Próbowałem dodać coś do $ PATH i wszystko poszło nie tak. Nie mogę teraz uruchomić żadnych poleceń, takich jak ls. Przejrzałem tę odpowiedź i użyłem następujących wierszy:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Te linie tymczasowo naprawiają problem; jednak po ponownym uruchomieniu terminalu wydaje się, że zapominam o tych zmianach.

Jak mogę trwale zresetować moją $ PATH?

Korzystam z najnowszej wersji Mountain Lion.

Nosrettap
źródło
5
Naprawiono:/bin/rm ~/.bash_profile
Nosrettap,
2
Dobre pytanie. Zawsze możesz podać poprawkę w odpowiedzi.
bassplayer7
Zapytany również o superużytkownika
glenn jackman
1
Zdając sobie sprawę, że już rozwiązałeś problem, użytkownicy z podobnym problemem mogą również znaleźć pomoc pod adresem/etc/paths
David Smith

Odpowiedzi:

16

Sugerowana odpowiedź na usunięcie .bash_profilenie jest ogólnie dobrym pomysłem. Istnieją inne rzeczy, które można ustawić w tym pliku oprócz PATHdefinicji.

Jeśli chcesz cofnąć efekty eksperymentu, po prostu usuń lub skomentuj ten PATHwiersz za pomocą #.

Nie chcesz edytować PATHod zera, ale dołącz do niego, tak jak w przypadku drugiego wiersza. Preferowaną metodą dodawania czegoś do ścieżki byłoby:

export PATH=$PATH:$HOME/bin

EDYCJA Ponieważ twój PATHjest popsuty, nie masz dostępu do zwykłych poleceń, aby dokonać tych zmian. Jako tymczasową poprawkę możesz zdefiniować nową minimalną ścieżkę w oknie terminala (nie w twoim .bash_profile), wpisując:

PATH=/bin:/usr/bin

To będzie chwilowo daje dostęp do nano ls mv vi cati rm- podstawowe narzędzia, by sprawdzić i edytować .bash_profilei usunąć problem ...

Powtórz, nie umieszczaj tej PATHdefinicji nigdzie poza czasem trwania sesji podczas dokonywania poprawek.

beroe
źródło
5

Polecam:

source /etc/profile

Właśnie tego używa Mac, aby ustawić początkową ścieżkę, i przywróci wszystko z powrotem, z wyjątkiem elementów dodawanych dla użytkownika.

Dokonuję przyzwoitej modyfikacji ścieżki w moim ~ / .bash_profile i umieściłem to na górze pliku, ponieważ miałem problemy z przeładowaniem mojego profilu podczas pracy po tym, jak poprawiłem tam alias lub coś i dodawało do mojej ścieżki zduplikowane odniesienia. Zamiast sprawdzać, czy jest już dodany, po prostu resetuję ścieżkę do wersji scratch i ponownie dołączam elementy, które chcę.

rjferguson
źródło
3

Usuń swój profil bash, aby przywrócić domyślny $PATH. Wpisz następujące polecenie w Terminal.app :

/bin/rm ~/.bash_profile

Zmiana nastąpi w następnej sesji powłoki lub sesji terminalowej.

Graham Miln
źródło
Odpowiedzi na podstawie oryginalnych komentarzy pytającego, aby usunąć pytanie z kolejki bez odpowiedzi.
Graham Miln
4
Cóż, jeśli chcesz zachować inną zawartość swojego profilu, prosta /bin/mv ~/.bash_profile ~/bash_profilemoże być lepsza
nohillside
1
To najprostsza odpowiedź, jaką znalazłem na wszystkich stronach SE. Dzięki!
mr5
0

Domyślne OSX $PATHjest generowane z zawartości /etc/pathspliku, jego modyfikacja jest dość prosta.

Chris Keele
źródło
1
Modyfikacja /etc/pathsniesie ryzyko zastąpienia zmian przez następną aktualizację OS X, nie działa to również w przypadku ścieżek specyficznych dla użytkownika, takich jak ~/bin.
nohillside
To prawda, chociaż zwykle radzę sobie z tymi w moim pliku .rc później. Nie miałem /etc/pathsjeszcze resetu przez aktualizację (kilka lat od kiedy zacząłem używać brew).
Chris Keele,
Obecnie hakuję obsługę administracyjną boxen, która - mam nadzieję - sprawi, że będę odporna na przyszłe aktualizacje nadpisujące.
Chris Keele,
0

Te metody są świetne! Jeśli masz ten problem z zsh, usuń ~/.zshrcTo jednak pozbędzie się twoich ustawień zsh.

RedG3ar
źródło
/bin/mv ~/.bash_profile{,.bck}
Wolisz