2013-08-25 18 views
34

Używam Z Shell (zsh) zamiast domyślnej bash i coś złego się stało tak, że wszystkie komendy, którzy używali do pracy nie są już rozpoznawane:polecenia nie znaleziono zsh

ls 
zsh: command not found: ls 

open -e .zshrc 
zsh: correct 'open' to '_open' [nyae]? 

I don” t wiedzieć, jak zresetować zsh lub jak to naprawić. Oto treść $PATH zmiennej:

echo $PATH 
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate 

Nie mogę otworzyć pliku .bash_profile ani .zshrc pliku, wydaje się, że jedynym rozwiązaniem jest zresetowanie zsh. Jakieś pomysły?

EDIT:

Próbowałem nawet zresetować zsh jak wskazano w this thread, ale zawsze mam command not found błąd:

exec zsh 
zsh: command not found: zsh 

więc co się dzieje? dlaczego wszystkie polecenia są tracone?

Odpowiedz

67

Jest oczywiste, że udało Ci się zepsuć zmienną PATH. (Aktualna PATH nie zawiera żadnego miejsca, gdzie znajdują się wspólne narzędzia).

Spróbuj:

PATH=/bin:/usr/bin:/usr/local/bin:${PATH} 
export PATH 

Alternatywnie dla "zerowania" zsh, należy podać pełną ścieżkę do powłoki:

exec /bin/zsh 

lub

exec /usr/bin/zsh 
2

dla mnie po prostu ponownym mój terminalu wydawało się naprawić t wydaje.

4
  1. Użyj dobrego edytora tekstu jak Sublime Text i otworzyć plik .zshrc (powinien być w swoim katalogu domowym. Jeśli nie widzisz go, należy kliknąć prawym przyciskiem myszy w folderze plików podczas otwierania i wybierz opcję "pokaż ukryte pliki").

  2. znaleźć gdzie stwierdza: export PATH = "a-bunch-of-ścieżek oddzielonych po średnikami:"

  3. wstawiają to na końcu linii, przed końcem-cytat:: $ HOME/.local/bin

To powinno działać dla Ciebie.

Można sprawdzić, czy to będzie działać pierwszy wpisując w terminalu to pierwszy: export PATH = $ HOME/.local/bin: $ PATH

Jeżeli błąd zniknie po wpisaniu tego w terminalu lub terminal działa normalnie, powyższe rozwiązanie zadziała. Jeśli tak nie jest, musisz znaleźć folder, w którym znajduje się Twój błąd referencyjny (coś, czego nie znaleziono) i zastąpić powyższą ścieżkę PATH-TO-THAT-FOLDER.

0

Ponowne uruchomienie terminalu również mnie podniosło.

2

Naprawiono problem, otwierając kartę ogólnych preferencji terminalu i zmieniając polecenie (pełną ścieżkę) na /bin/bash na domyślną, a następnie edytując plik ~/.zshrc.

enter image description here

export PATH="all your path inside the quotes" 

... bez spacji między PATH=" i zapisz plik.

enter image description here

Po zapisaniu pliku, zmień /bin/zsh w swojej polecenie lub wybierz domyślnie enter image description here

... i ponownie zacisk i powinny mieć swój powłoki zsh działa ponownie!

0

Jak powiedzieli inni, ponowne uruchomienie terminala po wprowadzeniu zmian powinno zostać zresetowane i zmienione w pliku ~/.zshrc. Na przykład po dodaniu funkcji do otwartego studia wizualnego:

function code { 
    if [[ $# = 0 ]] 
    then 
     open -a "Visual Studio Code" 
    else 
     local argPath="$1" 
     [[ $1 = /* ]] && argPath="$1" || argPath="$PWD/${1#./}" 
     open -a "Visual Studio Code" "$argPath" 
    fi 
} 

Udało mi się użyć kodu słowa kluczowego do otwarcia programu z wiersza poleceń.

3

można utworzyć dowiązania symbolicznego w katalogu/usr/local/bin/

sudo ln -s $HOME/.composer/vendor/bin/homestead /usr/local/bin/homestead 
2

W swoim ~/.zsh pliku konfiguracyjnym zawierać ścieżkę do pliku ścieżka bash, który zawiera aliasy. W moim przypadku był to wiersz "source ~/.bash_profile" wewnątrz ~/.zsh.

Powiązane problemy