Korzystam z MacBooka Pro z najnowszą wersją Mountain Lion.
Naprawdę potrzebuję pomocy, udało mi się jak uszkodzić mój .bash_profile (tak myślę), więc za każdym razem, gdy otwieram terminal, pojawia się błąd wymieniony poniżej.
-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
-bash: export: `/Users/rob/Applications/sbt/bin:': not a valid identifier
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found
Nie jestem pewien, co się stało, nie mam sudo, cd ani żadnych normalnych poleceń. Jedynym sposobem, w jaki udało mi się dostać do dowolnego z głównych katalogów, jest przejście do polecenia folderu w wyszukiwarce i próba znalezienia pliku bezskutecznie.
Podsumowując, wydaje mi się, że utworzyłem plik, który może być przyczyną problemu, chciałem edytować plik .bash_profile, więc napisałem
sudo nano ./bash_profile
To otwiera nowy plik w nano, który, jak sądzę, został zapisany. Następnie otworzyłem prawdziwy plik .bash_profile, aby dodać ścieżkę do pliku node.js.
Jeśli mogę dostać się do pliku .bash_profile, myślę, że mogę go przywrócić na właściwe tory, ale nie mogę go znaleźć, czy powinienem ponownie zainstalować bash? Jeśli tak, to jak mam to zrobić na komputerze Mac, próbowałem użyć
brew install bash
do czego dochodzę
-bash: brew: command not found
źródło
bash
.-bash: export: '/Users/rob/Applications/sbt/bin:': not a valid identifier
co zniknęło. Jedyne, z czym się zmagam, to to, że pierwsza linia może być przechowywana. Zajrzałem do mojego .bash_profile, .profile i .bashrc, ale nic./usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin
do mojego .bash_profile i wygląda na to, że naprawiłem bash, ale nadal pojawia się ten błąd.-bash: export: '/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin': not a valid identifier
Masz jakieś pomysły?PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/go/bin:$PATH" # Make sure to use double quotes not single quotes
I na nowej liniiexport PATH
.Odpowiedzi:
Wystarczy zebrać wszystkie moje komentarze, aby uzyskać odpowiedź:
Pierwszą rzeczą, którą powinieneś zrobić, to zmienić powłokę, w ten sposób możesz ustawić powłokę, która nie będzie ładować skryptów inicjujących bash (
.bashrc
,.bash_profile
) - jak to zrobić dla aplikacji terminalowej Mac OS X można zobaczyć tutaj: Wsparcie AppleTeraz powinieneś być w stanie ponownie otworzyć terminal i użyć swojego ulubionego edytora wiersza poleceń, aby otworzyć
.bash_profile
plik (np.nano
Lubvi
):W tym pliku musisz zresetować
PATH
zmienną używaną przez terminal, aby znaleźć programy, które może wykonać.Można to zrobić za pomocą następujących dwóch wierszy:
Spowoduje to najpierw ustawienie katalogów, które chcesz mieć na ŚCIEŻCE, i wyeksportowanie ŚCIEŻKI, aby była dostępna dla wszystkich programów uruchomionych z tej powłoki (poprzez eksport).
źródło
⇧⌘. pokazuje ukryte pliki w oknach dialogowych plików. Możesz spróbować otworzyć ~ / .bash_profile za pomocą TextEdit i tymczasowo pozostawić pusty.
źródło
Miałem ten sam problem i właśnie znalazłem prostsze rozwiązanie:
/usr/bin/nano .bash_profile
usuń cały bałagan, a następnie zapisz plik
źródło
Wiem, że to stary wątek, ale chciałem zostawić tutaj moje rozwiązanie w nadziei, że ktoś inny będzie miał ten sam problem.
Kiedy uruchomiłem terminal z MacOS, mój użytkownik był w porządku, ale po zmianie na sudo nie mógł działać (polecenie nie znaleziono).
Skończyło się to na:
Właśnie usunąłem ścieżkę, która spowodowała błąd. Zrestartowałem terminal i teraz wszystko działa dobrze.
źródło
Niedawno odkryłem, że pliki w stylu DOS powodują problemy dla obu skryptów .bash * w OS-X. Muszę używać zakończeń plików DOS dla niektórych kodów współdzielonych z użytkownikami systemu Windows, więc jeśli edytuję plik .bash_profile w tym repozytorium git, otrzymuję wiele komunikatów o błędach podczas uruchamiania skryptu (przy logowaniu). Narzędzie dos2unix to naprawiło.
źródło
Oprócz wspomnianego wcześniej pokazywania ukrytych plików i korzystania z edytora tekstu, istnieje również łatwiejszy sposób na otwarcie nowej powłoki bez zmiany domyślnej powłoki. Możesz kliknąć z wciśniętym klawiszem Alt aplikację Terminal i wybrać „Nowe polecenie ...”. Następnie wpisz „sh” w oknie dialogowym i uruchom je. Spowoduje to otwarcie powłoki innej niż bash i możesz tam edytować plik. W przyszłości dobrym pomysłem byłoby pozostawienie otwartej powłoki lub przetestowanie nowego .bash_profile przed wyjściem.
źródło