Zmieniłem ŚCIEŻKĘ, teraz otrzymuję „polecenie nie znaleziono” dla wszystkiego


26

Serwer Amazon Linux połączony z SSH:

Próbowałem zmienić ŚCIEŻKĘ dla użytkownika apache, wprowadzając pewne zmiany w / etc / environment ( PATH=$PATH:/opt/openoffice4/program) i / etc / sysconfig / httpd ( export PATH = ${PATH:$PATH:}/opt/openoffice4/program).

Potem zrestartowałem się.

Teraz nie mogę nic zrobić, nawet ls -lprowadzi do-bash: ls: command not found

Co mogę zrobić, aby odzyskać kontrolę?


4
Czy potrafisz uruchamiać polecenia bezpośrednio? Na przykład /bin/ls?
DavidPostill

tak, mogę uruchomić / bin / ls
Ferenjito,

13
Powinieneś być w stanie uruchomić /bin/vii naprawić pliki, w których złamałeś ścieżkę.
DavidPostill

Odpowiedzi:


49

Co mogę zrobić, aby odzyskać kontrolę?

Uruchom /bin/vii przywróć zmiany wprowadzone w /etc/environmenti /etc/sysconfig/httpd.


32

Możesz ustawić swój PATHbez edytora. Po prostu wpisz to w powłoce:

export PATH=/usr/local/bin:/usr/bin:/bin:$HOME/bin

1
I usuń spacje! PATH=something, NOTPATH = something
waltinator,

4
Należy to zacytować, w przeciwnym razie $HOMEbędzie podlegać globowaniu i dzieleniu słów. IOW, pęknie, jeśli będzie $HOMEw nim spacja (prawdopodobne) lub dowolne znaki globalne (mniej prawdopodobne).
Kevin

@Kevin Próbowałem, a spacje i globusy zostały właśnie skopiowane. (Pisanie export PATH=/path to home/binoczywiście nie działa.)
Neil

2
@Kevin Tak zachowuje się w ściśle zgodnych implementacjach, ale przynajmniej bash daje exportniestandardowe reguły składniowe, które nie mają tego problemu. (Niestandardowe reguły składni były już wymagane z innych powodów, np export array=(1 2 3).
Zezwalać

-1

Może to pomogłoby:

export PATH=/usr/local/bin:/usr/bin:/bin:$HOME/bin

Polecenie „eksportuj” nie jest używane z / usr / bin, dlatego nadal działa!


1
Ta odpowiedź została już zasugerowana.
ksenoid
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.