Zainstalowałem najnowszą aktualizację do OS X Lion (10.7). Po tym, mój terminal nie rozpozna normalnych poleceń. Napisałem ls
i dostałem:
-bash: ls: command not found
Pomyślałem, że spróbuję dodać usr / bin do mojej ścieżki, ale nie mogę znaleźć pliku .bash_profile, aby go edytować, ponieważ pisanie edit .bash_profile
nie działa. Nie mogę ustawić Findera, aby wyświetlał wszystkie pliki, ponieważ mój terminal nie rozpoznaje poleceń niezbędnych do tego.
co muszę zrobić?
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
wklej ciemną część (lub wpisz ją BARDZO UWAŻNIE) - ponieważ brakuje dwóch poleceń - coś uderzyło cię w ścieżkę. Przed zrobieniem czegoś dużego rozpoczęcie tworzenia kopii zapasowej może być rozsądne./usr/bin/vi ~/.bash_profile
Połóż to jako odpowiedź i mogę zaakceptować!Odpowiedzi:
Ponieważ w dwóch poleceniach brakuje czegoś „tupiąc” Twoją ścieżką.
Przed zrobieniem czegoś dużego rozpoczęcie tworzenia kopii zapasowej może być rozsądne.
Domyślna ścieżka w systemie Mac OS X 10.7 (Lion) wygląda mniej więcej tak:
Jeśli zresetujesz ścieżkę, wpisując powyższe w oknie powłoki, a następnie wpisanie
export PATH
powinno naprawić to jedno okno.Możesz więc zacząć od tego i sprawdzić, co jeszcze może być nie tak, i naprawić to w plikach początkowych lub w innym miejscu, w którym zostanie zdefiniowane.
To uszkodzenie jest prawie zawsze czymś, co musisz naprawić w plikach kropek. W przypadku bash, edycji i naprawy
.bash_profile
i / lub.bashrc
cofając ostatnią zmianę, wystarczy ustawić ponownie zmienną $ PATH. Zwykłym błędem jest przypisanie nowej ścieżki i nie odwołanie się do poprzedniej wartości zmiennej po prawej stronie znaku =źródło
ls
nie.bash_profile
działałem po aktualizacji 😂To powinno rozwiązać problem całkowicie i na stałe.
po pierwsze, wyeksportuj ścieżki środowiska za pomocą polecenia poniżej w terminalu.
teraz masz odpowiednie polecenia. (np. spróbuj
ls
. Zobaczysz, że polecenie działa). Ale dotyczy to tylko bieżącej sesji. Jeśli zamkniesz terminal i otworzysz nowy, pojawi się poprzedni problem. Aby wprowadzić tę zmianę na stałe, użyj polecenia poniżej,przejdź do katalogu domowego
otwórz plik .bash_profile w nano / vim (tutaj używam nano)
Otworzy się edytor nano. W nowym wierszu wklej następujące;
naciśnij klawisze „control” + „o”, aby zapisać (WriteOut) i „control” + „x”, aby wyjść z nano.
Wszystko gotowe! Teraz wypróbuj polecenia.
źródło
Wydaje mi się, że
/etc/profile
nie był uruchamiany przy starcie powłoki. Jest to globalny plik startowy odpowiedzialny za inicjowanie ŚCIEŻKI. Sprawdź, czy/etc/profile
istnieje, czy można go odczytać i wykonać za pomocą następującego polecenia:Jeśli go nie ma, musisz przywrócić go z kopii zapasowej lub innego komputera z zainstalowanym Lionem lub ponownie zainstalować Lion. Jeśli istnieje, ale nie jest wykonywalny, spróbuj użyć Narzędzia dyskowego do naprawy uprawnień do dysku.
Jeśli istnieje i jest wykonywalny (i zawiera jakiś kod), być może nie uruchamia się on w odpowiednim czasie lub skrypt startowy może go w jakiś sposób przesłaniać. Aby obejść ten problem , spróbuj
. /etc/profile
ustawić~/.bash_profile
go na początku . Jeśli problem nadal występuje, dodaj goecho $PATH
po uruchomieniu, aby sprawdzić, czy ŚCIEŻKA została poprawnie zainicjowana. Jeśli tak, coś w twoim skrypcie to zmienia.Oto domyślna zawartość
/etc/profile
:path_helper
konstruuje domyślną ŚCIEŻKĘ. Możesz spróbować uruchomićaby zobaczyć, co produkuje.
W każdym razie, jeśli problemu nie ma w skryptach startowych, skontaktuj się z pomocą Apple http://www.apple.com/support/contact/ lub zgłoś błąd na https://bugreport.apple.com / aby powiadomić Apple, że jest problem.
źródło
unset PATH; /usr/libexec/path_helper -s
pokazuje mi ŚCIEŻKĘ, która nie jest zawarta w moim/etc/profile
. Jakieś sugestie?. /etc/profile
tymczasowo rozwiązuje problem. Wkleiłem na samą górę~/.bash_profile
, ale wygląda na to, że to też nie działa.Aby sprawdzić, czy rzeczywiście jest to problem z twoją ścieżką, jaki jest tego wynik
/bin/ls
?Jeśli to działa, powinieneś przywrócić swoją ścieżkę do
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
, możesz na przykład użyćVI
czyjej ścieżki to (na moim Macu)/usr/bin/vi
.źródło
Myślałem o podzieleniu się błędem, który doprowadził mnie do tego błędu - przynajmniej w moim przypadku,
Kiedy dodałem nową
PATH
in~/.bash_profile
, zapomniałem dodać:$PATH
na końcu ścieżki, które po prostu dodatkiem.Użyłem tymczasowej poprawki (następująca komenda w terminalu), którą mistrzowie już tutaj wskazali, aby wrócić do bash_profile, ponieważ nie mogłem użyć komend vi, aby ją otworzyć.
Po wejściu poprawiłem swój błąd.
(Dane negatywne mają znaczenie!)
źródło
Kiedy to się stało, próbowałem ustawić ścieżkę maven na zmienne środowiskowe. Więc właśnie przeniosłem mój plik .profile i .bash_profile do kosza i spróbowałem ponownie i zadziałało.
źródło
Resetowanie terminala będzie działać. Zresetuje twoje podstawowe konfiguracje.
Zresetuj terminal. W górnej nawigacji przejdź do Shell >> Resetuj.
źródło
bash
?Wygląda na to, że zmienna PATH jest uszkodzona. Sprawdź, czy przypadkiem modyfikujesz zmienną PATH w swoim skrypcie, lub po prostu sprawdź PATH, mówiąc echo $ PATH, i możesz się upewnić, czy nic nie jest uszkodzone.
źródło
możesz wyeksportować ścieżkę w następujący sposób:
export PATH = $ PATH: / bin: / usr / local / bin
źródło