Zepsułem ŚCIEŻKĘ, edytując mój ~ / .bash_profile i Bash nie rozpoznaje większości poleceń

15

w .bash_profile Przypadkowo ustawiłem ścieżkę na:

PATH="~/Tools/apache-maven-3.3.3/bin"

a teraz domyślna ścieżka zniknęła. Nic w Terminalu już nie działa:

Korays-MacBook-Pro:~ koraytugay$ ls
-bash: ls: command not found
Korays-MacBook-Pro:~ koraytugay$ mkdir test
-bash: mkdir: command not found

Nie widzę ukrytych plików w Finderze, więc nie mogę również modyfikować .bash_profile z Findera.

Jak mogę naprawić tę sytuację?

Koray Tugay
źródło
1
Może to nie działać w systemie BSD: spróbuj przywrócić domyślną ścieżkę PATH=$(getconf PATH), w przeciwnym raziePATH=/bin:/usr/bin
glenn jackman
1
Sugestia „PATH getconf” rzeczywiście działa dobrze, przynajmniej 10.10.
calum_b
3
Ponieważ ŚCIEŻKA jest zniekształcona, sugestia Glena będzie działać zPATH=$(/usr/bin/getconf PATH)
fd0

Odpowiedzi:

25

Najprostszym sposobem jest przywrócenie z kopii zapasowej, np. Z Time Machine.
Jeśli jednak ostatnia kopia zapasowa jest wystarczająco długa, że ​​istnieją inne zmiany, które chcesz zachować, możesz edytować .bash_profile

W terminalu

W terminalu możesz użyć pełnej ścieżki do edytorów (/ usr / bin / emacs / usr / bin / vi lub / usr / bin / nano) do edycji ~ / .bash_profile

na przykład

/usr/bin/nano ~/.bash_profile

Możesz też otworzyć go za pomocą domyślnego edytora tekstu (domyślnie TextEdit) poprzez:

/usr/bin/open ~/.bash_profile

W GUI - z Docka lub Findera

Ale możesz to również zrobić z TextEdit (lub innych edytorów GUI) przez Plik-> Otwórz i przejdź do katalogu domowego. W zależności od tego, czy ustawiłeś Finderowi wyświetlanie wszystkich plików, czy nie ukrytych (domyślnie), albo zobaczysz .bash_profile na liście, albo możesz nacisnąć ⌘ CMD+ ⇧ SHIFT+, .który ujawnia ukryte pliki w oknach dialogowych Otwórz / Zapisz. (skrót pochodzi z tej odpowiedzi )

użytkownik151019
źródło
5
Użytkownicy, którzy nie mogą samodzielnie rozwiązać opisanego problemu, prawdopodobnie lepiej używać nanozamiast emacs/ vido edycji ~/.bash_profile.
nohillside
12

Przywróć minimalną ŚCIEŻKĘ

Wpisz następujące polecenie, aby zresetować minimalną ŚCIEŻKĘ:

PATH=/bin:/usr/bin

Naprawić ~/.bash_profile

Edytować swoich ~/.bash_profilez preferowany edytor tekstu vi, emacs albo TextEdit. Zawsze preferuj względną konstrukcję PATH:

PATH=${PATH}:...my_personal_added_pathes...
export PATH

Sprawdź to

Zanim przejdziesz dalej, jak robi to zbyt wielu początkujących, ponownie uruchamiając sesję, aby odkryć, że nie mogą już uruchomić powłoki. Przetestuj ~/.bash_profile: otwórz inne Terminalokno i sprawdź, czy działa dobrze:

. ~/.bash_profile
ls
uptime
date
...
dan
źródło
1
Nie ma potrzeby do exportminimum PATH. Każdy proces rozpoczęty przez bieżącą powłokę odziedziczy minimum PATH. Chociaż export PATHużyłbym go w pliku konfiguracyjnym powłoki.
fd0
1
Dobrze! Jestem tak przyzwyczajony do pisania w ten sposób w środowiskach, w których testowane są skrypty powłoki.
dan
2

natknąłem się na ten błąd, który zajęło mi całe popołudnie. ls, git, mkdir itp. polecenia bash stały się nieprawidłowe i zgłosiły błąd: „- bash: xx: nie można znaleźć plików lub katalogu”, ponieważ zmodyfikowałem plik .bash_profile podczas instalacji zsh. wprowadź następujące polecenie, aby przywrócić ~ / .bash_profile

  1. w terminalu Mac wprowadź:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. możesz tymczasowo użyć poleceń bash, wprowadź:

    vim ~/.bash_profile
  3. przywróć parametry PATH poprzez modyfikację

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. zapisz vim i wyjdź, a następnie wprowadź:

    source ~/.bash_profile

OK, mój komputer znów działa!

Yongsheng Yu
źródło
Warto dodać, że w kroku 3 należy zachować ostrożność, aby nie zniszczyć innej zawartości pliku.
nohillside
plik .bash_profile został zniszczony przez moje niepoprawne zamówienia, nie pozostało nic oprócz pustej „PATH eksportu” =, więc jest to jedyny sposób, w jaki musiałem przywrócić mój komputer Mac
Yongsheng Yu
-2
  1. Otwórz swój profil bash, uruchamiając / usr / bin / vim ~ / .bash_profile. (vim ~ / .bash_profile nie będzie już działać, ponieważ ścieżka jest nieprawidłowa).
  2. Pozbądź się ścieżki, którą właśnie dodałeś, która wszystko popsuła.
  3. Wyjdź i uruchom ponownie terminal, aby plik źródłowy ~ / .bash_profile działał automatycznie. (Ponownie nie będzie działać tak, jak jest, ponieważ ścieżka jest niepoprawna).
Josh
źródło
-5

Otwórz plik .bash_profile, przejdź do linii poleceniem błędu i umieść przed nią znak # jako pierwszy znak linii. Uruchom ponownie (dla pewności).

LexS
źródło
Jak otwiera swój .bash_profile?
user151019