Aktualizowałem mój .bash_profile i niestety zrobiłem kilka aktualizacji i teraz otrzymuję:
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
-bash: dirname: command not found
-bash: /preexec.sh.lib: No such file or directory
-bash: preexec_install: command not found
-bash: sed: command not found
-bash: git: command not found
Mój profil bash faktycznie pobiera inne pliki .sh (źródła), więc nie jestem pewien, która modyfikacja mogła to spowodować.
Teraz, jeśli nawet spróbuję przejść do listy plików, otrzymam:
>ls
-bash: ls: command not found
-bash: sed: command not found
-bash: git: command not found
Wszelkie wskazówki dotyczące śledzenia źródła błędu i korzystania z terminala do podstawowych czynności, takich jak wyświetlanie listy plików itp.?
command-line
bash
Blankman
źródło
źródło
-bash: sed: command not found -bash: git: command not found
/etc/environment
wystąpienia problemu użyj następującego polecenia (w centach 6):ssh -t root@<server-ip> "/bin/bash -c '/bin/mv /etc/environment /tmp/'"
Odpowiedzi:
Wydaje mi się, że w pewnym momencie zastępujesz domyślną
PATH
zmienną środowiskową. Rodzaj błędów, które masz, wskazuje, żePATH
nie zawiera/bin
, gdzie znajdują się powyższe polecenia (w tymbash
).Na przykład jeśli tak
zamiast
źródło
export PATH=PATH:EC2_HOME/bin
export PATH=$PATH:EC2_HOME/bin
$
tak:export PATH=$PATH:$EC2_HOME/bin
Jednym ze sposobów rozpoczęcia debugowania skryptu bash jest uruchomienie podpowłoki z opcją -x:
Spowoduje to wyświetlenie każdego polecenia i jego argumentów, które są wykonywane podczas uruchamiania tej powłoki.
Podano opcję --login, ponieważ plik .bash_profile jest odczytywany przez powłoki logowania. Więcej informacji na temat debugowania skryptów bash można znaleźć tutaj: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html .
Ostatecznie myślę, że propozycja stycznia będzie dla ciebie skuteczna, ale ten link jest wart przeczytania na wypadek przyszłych problemów.
źródło
Mogłem znaleźć problem. To działało dla mnie i może działać dla ciebie ...
Domyślnie z moim edytorem zapisywałem Windows (LF / CR). Ponieważ używam obu systemów, wydawało się to logiczne. Kiedy musiałem z nimi zadzierać
.bash_profile
, po skomentowaniu i wypróbowaniu rzeczy zrozumiałem, że nic nie działa. Zmieniłem swoje zapisy na format OS X (tylko CR) i voilà! Nie ma już „polecenia nie znaleziono” w terminalu!To może być takie proste!
źródło
$ dos2unix .bash_profile
Po tym, jak nie mogłem ponownie uruchomić. ~ / .bash_profile lub inne zwykłe polecenia, takie jak whoami, grep itp. Wymyśliłem sposób, aby po prostu ponownie wyeksportować wymagane ścieżki:
Powinno to działać w większości systemów, chociaż niektóre z tych ścieżek nie są obecne we wszystkich pakietach Linux. To zadziałało dla mnie.
źródło
Myślę, że mogłem znaleźć odpowiedź na problem, jeśli nie dla ciebie, to dla innych, którzy mają podobny problem. Moja odpowiedź na to jest taka, że nie mam
.bash_profile
.Szukałem w Internecie i znalazłem rozwiązanie. Który jest w zasadzie otwórz terminal, wpisz
touch ~/.bash_profile
i naciśnij Enter. To naprawiło moje problemy. Mam nadzieję, że zrobi to samo dla ciebieźródło
Mam taki sam problem jak ty. Nie mogę korzystać z wielu popularnych polecenie (
ls
,vi/vim
..) i nie można edytować/root/.bashrc
, gdy loguję sięsu
do korzenia.Wreszcie. Znalazłem rozwiązanie tego problemu. Wystarczy zalogować się rootem za pomocą polecenia:
Następnie możesz użyć
edytować ŚCIEŻKĘ.
Powodzenia!
źródło
Miałem ten sam problem. Być może przegapiłeś $ podczas eksportowania ŚCIEŻKI. Powinieneś otworzyć .bash_profile w TextEdit. Jeśli nie możesz znaleźć pliku w katalogu, naciśnij Command + Shift +>, aby wyświetlić ukryte pliki.
Następnie wprowadź poprawkę do ŚCIEŻKI, a następnie zapisz.
W katalogu w terminalu wpisz: source .bash_profile.
To powinno rozwiązać problem.
źródło
Miałem dokładnie ten sam problem:
Jeśli wstawię lxterminal:
jeśli podałem dokładnie to samo polecenie w tty2, otrzymałem:
oznacza koniec linii DOS, więc otworzyłem plik
~/.bashrc
i zmieniłem końce linii w Krusaderze na styl unix. I już działa !!! :-)EOL-y DOS-a powodują ogromne problemy również w skryptach bash.
źródło
Ten sam problem mam teraz po zmianie
.bash_profile
. I chcę to zmienić z powrotem, ale teraz nie mogę, ponieważ straciłem wszystkie polecenia, zwłaszcza polecenie nano i polecenie vim, więc nie mogę otworzyć pliku .bash_profile z poleceniem. I.bash_profile
jest ukryty plik nie mogę otworzyć go z Findera.Muszę więc znaleźć sposób na otwarcie pliku .bash_profile. Po wypróbowaniu wielu sposobów okazało się, że mogę używać Atom , ponieważ Atom może odczytać wszystkie pliki w folderze projektu, w tym ukryte pliki. Więc po prostu otwórz Atom,
File -> Open
wybierz<yourusername>
folder , wybierz folder, a następnie wszystkie ukryte pliki są wyświetlane w widoku drzewa Atom, włączając.bash_profile
!! Po usunięciu ostatniej modyfikacji i ponownym otwarciu terminalu wszystkie polecenia wróciły! :)źródło