Ich habe mein .bash_profile aktualisiert und leider ein paar Aktualisierungen vorgenommen. Jetzt erhalte ich:
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
Mein bash_profile zieht tatsächlich andere .sh-Dateien ein (quellt sie), so dass ich nicht genau weiß, welche Änderung dies verursacht haben könnte.
Wenn ich jetzt mal versuche und eine Liste von Dateien anlege, bekomme ich:
>ls
-bash: ls: command not found
-bash: sed: command not found
-bash: git: command not found
Irgendwelche Tipps, wie man die Fehlerquelle aufspürt und wie man das Terminal für grundlegende Dinge wie das Auflisten von Dateien usw. verwenden kann?
command-line
bash
Blankman
quelle
quelle
-bash: sed: command not found -bash: git: command not found
/etc/environment
, verwenden Sie den folgenden Befehl (in Centos 6):ssh -t root@<server-ip> "/bin/bash -c '/bin/mv /etc/environment /tmp/'"
Antworten:
Mir scheint, dass Sie zu einem bestimmten Zeitpunkt die Standardumgebungsvariable überschreiben
PATH
. Die Art der Fehler, die Sie haben, gibt an, dassPATH
nicht enthalten ist/bin
, wo sich die obigen Befehle (einschließlichbash
) befinden.Zum Beispiel, wenn Sie das tun
Anstatt von
quelle
export PATH=PATH:EC2_HOME/bin
export PATH=$PATH:EC2_HOME/bin
$
wie folgt aus :export PATH=$PATH:$EC2_HOME/bin
Eine Möglichkeit, mit dem Debuggen Ihres Bash-Skripts zu beginnen, besteht darin, eine Subshell mit der Option -x zu starten:
Dies zeigt Ihnen jeden Befehl und seine Argumente, die beim Starten dieser Shell ausgeführt werden.
Die Option --login wird angegeben, weil .bash_profile von Login-Shells gelesen wird. Weitere Informationen zum Debuggen von Bash-Skripten finden Sie hier: http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html .
Letztendlich denke ich, dass der Vorschlag vom Januar für Sie funktionieren wird, aber dieser Link ist für zukünftige Probleme eine Lektüre wert.
quelle
Möglicherweise habe ich das Problem gefunden. Es hat für mich funktioniert, und es könnte für Sie funktionieren ...
Ich habe mit meinem Editor standardmäßig Windows (LF / CR) gespeichert. Da ich beide Systeme benutze, schien es logisch. Als ich mich mit meinem
.bash_profile
anlegen musste, wurde mir klar, dass nichts funktionierte, nachdem ich Dinge auskommentiert und ausprobiert hatte. Ich habe meine Spielstände in das OS X-Format (nur CR) geändert und voilà! Kein "Befehl nicht gefunden" mehr im Terminal!So einfach kann es sein!
quelle
$ dos2unix .bash_profile
Nachdem ich nicht mehr rennen konnte. ~ / .bash_profile oder andere übliche Befehle wie whoami, grep usw. Ich habe mir eine Möglichkeit ausgedacht, die erforderlichen Pfade einfach erneut zu exportieren:
Dies sollte auf den meisten Systemen funktionieren, obwohl einige dieser Pfade nicht in allen Linux-Paketen vorhanden sind. Es hat bei mir funktioniert.
quelle
Ich glaube, ich habe vielleicht die Antwort auf das Problem gefunden, wenn nicht für Sie, dann für andere, die ein ähnliches Problem haben. Meine Antwort darauf ist, dass ich keine habe
.bash_profile
.Also habe ich im ganzen Web gesucht und die Lösung gefunden. Wobei grundsätzlich das Terminal geöffnet, getippt
touch ~/.bash_profile
und gedrückt wird Enter. Das hat meine Probleme behoben. Hoffe es macht das selbe für dichquelle
Ich habe das gleiche Problem wie du. Ich kann nicht vielen beliebten Befehl (verwenden
ls
,vi/vim
..) und kann nicht bearbeiten ,/root/.bashrc
wenn ich mich einloggen mitsu
in root.Endlich. Ich habe die Lösung für dieses Problem gefunden. Melden Sie sich einfach mit dem folgenden Befehl als root an:
Danach können Sie verwenden
um PATH zu bearbeiten.
Viel Glück!
quelle
Ich hatte das gleiche problem Möglicherweise haben Sie beim Exportieren von PATH ein $ verpasst. Sie sollten das .bash_profile in TextEdit öffnen. Wenn Sie die Datei im Verzeichnis nicht finden können, drücken Sie Befehlstaste + Umschalttaste +>, um versteckte Dateien anzuzeigen.
Korrigieren Sie dann den PFAD und speichern Sie ihn.
Geben Sie im Verzeichnis auf dem Terminal Folgendes ein: source .bash_profile.
Dies sollte das Problem beheben.
quelle
Ich hatte genau das gleiche Problem:
Wenn ich lxterminal einsetze:
Wenn ich in tty2 genau den gleichen Befehl eingegeben habe, erhalte ich:
\ r bedeutet DOS-Zeilenende, also habe ich die Datei geöffnet
~/.bashrc
und die Zeilenenden in Krusader in den Unix-Stil geändert. Und es funktioniert schon !!! :-)Die DOS-EOLs bereiten auch in Bash-Skripten erhebliche Probleme.
quelle
Ich habe das gleiche Problem erst jetzt, nachdem ich das geändert habe
.bash_profile
. Und ich möchte es wieder ändern, kann es aber jetzt nicht mehr, da ich alle Befehle, insbesondere den nano-Befehl und den vim-Befehl, verloren habe, sodass ich das .bash_profile mit Befehl nicht öffnen kann. Und das.bash_profile
ist eine versteckte Datei, die ich mit dem Finder nicht öffnen kann.Ich muss also einen Weg finden, um die .bash_profile-Datei zu öffnen. Nachdem ich viele Möglichkeiten , habe ich versucht , dass ich gefunden kann Atom , weil Atome alle Dateien in einem Projektordner lesen können, ist die versteckten Dateien. So öffnen Sie einfach Atom, und wählen Sie den
File -> Open
, wählen Sie<yourusername>
Ordner und dann alle versteckten Dateien auf dem Atom der Baumansicht zeigt, umfassen die.bash_profile
!! Nachdem ich die letzte Änderung entfernt und das Terminal wieder geöffnet hatte, kamen alle Befehle zurück! :)quelle