Ich habe kürzlich versucht, CoffeeScript auf meinem Mac zu installieren, und kann jetzt nicht einmal die grundlegendsten Befehle wie ls, cd usw. verwenden. Irgendetwas sagt mir, dass es daran liegt, dass sich die $PATH-Variable geändert hat. Ich erinnere mich, dass ich das tun musste, als ich versuchte, die Installation durchzuführen. Ich habe versucht, die hier gefundenen Anweisungen zu befolgen , aber es funktioniert nicht, weil der Befehl vi nicht gefunden wird.
Bei der Eingabe von echo $PATH im Terminal lautet /usr/local/bin:
Sie haben Ihre PATH
Variablendefinition beschädigt. Ohne Angabe, welche Methode Sie gewählt haben, um es zu ändern, werde ich die Hypothese aufstellen, dass Sie es in Ihrem geändert haben ~/.bash_profile
.
Um sich von dieser Situation zu erholen, müssen Sie zu einer funktionierenden Shell-Umgebung zurückkehren und dann versuchen, Ihre ~/.bash_profile
.
~/.bash_profile
: keineEntfernen Sie Ihre ~/.bash_profile
und erstellen Sie eine Sicherungskopie davon. Da Ihr PATH
nicht vertrauenswürdig ist, verwenden Sie es nicht (verwenden Sie den vollständigen Pfad von mv
):
/bin/mv ~/.bash_profile ~/.bash_profile.bak
Öffnen Sie ein neues Terminal
Fenster, in diesem sollten alle Befehle zu finden sein. Überprüfen Sie, ob Sie eine funktionierende wiederhergestellt haben PATH
:
echo $PATH
Wenn Sie es einfacher finden, können Sie nach dieser Überprüfung Ihre Sitzung neu starten, damit jede neue Shell einen funktionierenden PATH erhält.
~/.bash_profile
grep PATH ~/.bash_profile.bak
Lieber wieder auf eine nicht funktionierende zurückgreifen PATH
, benutze die Backup-Datei von dir ~/.bash_profile
, um es dort zu beheben und zu testen.
Geben Sie zum Testen ein: . ~/.bash_profile.bak echo $PATH
/.bash_profile
Sobald Sie zufrieden sind und überprüft haben, haben Sie Zugriff auf alle Ihre Befehle:
mv ~/.bash_profile.bak ~/.bash_profile
und wenn Sie es sofort verwenden möchten, ohne Ihre vollständige Sitzung neu zu starten, geben Sie einfach Folgendes ein:
. ~/.bash_profile
Um Ihren Pfad zurückzusetzen, entfernen Sie die Zeile, die den Pfad festlegt, aus Ihrem ~/.bash_profile oder Äquivalent und öffnen Sie dann Ihr Terminal erneut.
Bearbeiten Sie es mit /usr/bin/nano oder /usr/bin/open oder TextMate oder einem anderen Texteditor. Es ist nicht so, dass kein Befehl erreicht werden kann, aber dass PATH diese Binärdateien nicht enthält – sie können immer noch manuell geöffnet werden, indem Sie den Pfad angeben oder cd zum Verzeichnis verwenden.
PATH
Es hört sich so an, als hätten Sie Ihre Umgebungsvariable entfernt oder nicht richtig konfiguriert . Versuchen Sie, diese Zeile aus ~/.bash_profile zu entfernen, öffnen Sie dann ein neues Terminalfenster und überprüfen Sie, ob Ihre Pfade richtig eingestellt sind.
Sie müssen keinen Befehlszeilen-Texteditor verwenden, Sie können den hervorragenden und kostenlosen TextWrangler von BareBones Software verwenden . Dies sollte Fehler beim Versuch, herauszufinden, wie vi funktioniert, reduzieren.
Wenn Sie keine weitere App installieren möchten, befindet sich vi unter /usr/bin/vi
. Für Befehlszeilen-Editoren würde ich pico über vi empfehlen, /usr/bin/pico
das viel benutzerfreundlicher ist als vi oder emacs, aber im Vergleich zu TextWrangler klobig ist. Pico platziert alle relevanten Befehle am unteren Rand des Bearbeitungsfensters.
Viel Glück!
Wackel
cd
ist eine Shell eingebaut. Nichts, was Sie $PATH antun, sollte in der Lage sein, es zu brechen, also haben Sie Ihrer Maschine möglicherweise etwas viel Schlimmeres angetan.0942v8653
echo
funktioniert abercd
undls
nicht. Versuchen Sie, die Terminal-Einstellungen zu öffnen und ein neues Profil zu erstellen. Führen Sie es dann ausbash --noprofile
und deaktivieren Sie "In Shell ausführen" (ich denke, die Optionen dafür befinden sich auf der Registerkarte "Erweitert"). Sehen Sie auch, obtype
oderwhich
funktioniert.Dan
cd
funktioniert, und Sie dachten, dass es nicht funktioniert, weil esls
nicht verwendbar ist. Ich rate Ihnen, diese Informationen noch einmal zu überprüfen und Ihre ursprüngliche Frage zu aktualisieren, um zu vermeiden, dass Leute Ihnen helfen wollen, nach einem Marsmenschen zu suchen :).