Ich habe meinen PATH durch Bearbeiten meines ~ / .bash_profile gebrochen und Bash erkennt die meisten Befehle nicht

15

In .bash_profile habe ich versehentlich den Pfad auf Folgendes gesetzt:

PATH="~/Tools/apache-maven-3.3.3/bin"

und jetzt ist der Standardpfad weg. Im Terminal funktioniert nichts mehr:

Korays-MacBook-Pro:~ koraytugay$ ls
-bash: ls: command not found
Korays-MacBook-Pro:~ koraytugay$ mkdir test
-bash: mkdir: command not found

Ich kann keine versteckten Dateien im Finder sehen, daher kann ich .bash_profile auch nicht im Finder ändern.

Wie kann ich diese Situation beheben?

Koray Tugay
quelle
1
Dies funktioniert möglicherweise nicht auf einem BSD-ish-System: Versuchen Sie, einen Standardpfad mit wiederherzustellen PATH=$(getconf PATH), andernfallsPATH=/bin:/usr/bin
Glenn Jackman
1
Der Vorschlag "getconf PATH" funktioniert tatsächlich einwandfrei, zumindest am 10.10.
Calum_b
3
Da der Pfad verstümmelt ist, funktioniert PATH=$(/usr/bin/getconf PATH)
Glenns

Antworten:

25

Der einfachste Weg ist die Wiederherstellung aus einer Sicherung, z. B. von Time Machine.
Wenn die letzte Sicherung jedoch lange genug zurückliegt, um weitere Änderungen vorzunehmen, können Sie das .bash_profile bearbeiten

Im Terminal

In einem Terminal können Sie den vollständigen Pfad zu den Editoren (/ usr / bin / emacs / usr / bin / vi oder / usr / bin / nano) verwenden, um ~ / .bash_profile zu bearbeiten

z.B

/usr/bin/nano ~/.bash_profile

Oder Sie öffnen es mit dem Standardtexteditor (standardmäßig TextEdit) über:

/usr/bin/open ~/.bash_profile

In der GUI - vom Dock oder Finder

Sie können dies aber auch über TextEdit (oder andere GUI-Editoren) über Datei-> Öffnen tun und in Ihr Home-Verzeichnis wechseln. Abhängig davon, ob Sie Finder so eingestellt haben, dass alle Dateien angezeigt werden oder nicht (standardmäßig), wird entweder .bash_profile in der Liste angezeigt oder Sie können ⌘ CMD+ ⇧ SHIFT+ drücken ., um versteckte Dateien in den Dialogfeldern Öffnen / Speichern anzuzeigen. (Die Verknüpfung stammt aus dieser Antwort. )

user151019
quelle
5
Benutzer , die sich nicht beheben können das beschriebene Problem wahrscheinlich besser zu verwenden nanoanstelle von emacs/ vizu bearbeiten ~/.bash_profile.
Nohillside
12

Bringen Sie einen minimalen Pfad zurück

Geben Sie den folgenden Befehl ein, um einen minimalen Pfad zurückzusetzen:

PATH=/bin:/usr/bin

Fix ~/.bash_profile

Bearbeiten Sie ~/.bash_profilemit Ihrem preffered Texteditor vi, emacs oder TextEdit. Bevorzugen Sie immer ein relatives PATH-Konstrukt:

PATH=${PATH}:...my_personal_added_pathes...
export PATH

Probier es aus

Bevor Sie fortfahren, wie es zu viele Anfänger tun, starten Sie Ihre Sitzung neu, um festzustellen, dass sie keine Shell mehr starten können. Testen Sie Ihr ~/.bash_profile: Öffnen Sie ein anderes TerminalFenster und überprüfen Sie, ob es ordnungsgemäß funktioniert:

. ~/.bash_profile
ls
uptime
date
...
Dan
quelle
1
Es gibt keine Notwendigkeit für exportIhr Minimum PATH. Jeder Prozess, der von der aktuellen Shell gestartet wird, erbt das Minimum PATH. Allerdings würde ich export PATHin einer Shell-Konfigurationsdatei verwenden.
fd0
1
Recht! Ich bin es so gewohnt, es in Umgebungen zu tippen, in denen Shell-Skripte getestet werden.
Dan
2

Ich bin auf diesen Fehler gestoßen, dessen Überwindung einen ganzen Nachmittag dauert. Die Befehle ls, git, mkdir usw. bash wurden ungültig und meldeten einen Fehler: "- bash: xx: Dateien oder Verzeichnis können nicht gefunden werden", da ich das .bash_profile bei der Installation von zsh geändert habe. Geben Sie den folgenden Befehl ein, um Ihr ~ / .bash_profile wiederherzustellen

  1. Geben Sie im Terminal des Mac Folgendes ein:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. Sie können Ihre Bash-Befehle vorübergehend verwenden. Geben Sie Folgendes ein:

    vim ~/.bash_profile
  3. Stellen Sie die PATH-Parameter durch Ändern wieder her

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. speichere vim und beende, dann gib ein:

    source ~/.bash_profile

OK, mein Computer funktioniert wieder!

Yongsheng Yu
quelle
Es könnte sich lohnen, hinzuzufügen, dass man in Schritt 3 vorsichtig sein muss, um andere Inhalte in der Datei nicht zu zerstören.
Nohillside
Das .bash_profile wurde durch meine falschen Bestellungen zerstört. Es ist nichts mehr übrig als das leere "export PATH =". Dies ist die einzige Möglichkeit, meinen Mac zurückzusetzen
Yongsheng Yu
-2
  1. Öffnen Sie Ihr bash_profile, indem Sie / usr / bin / vim ~ / .bash_profile ausführen. (vim ~ / .bash_profile funktioniert nicht mehr, da der Pfad nicht richtig ist).
  2. Befreien Sie sich von dem Pfad, den Sie gerade hinzugefügt haben und der alles durcheinander gebracht hat.
  3. Beenden Sie das Terminal und starten Sie es neu, damit die Quelle ~ / .bash_profile automatisch ausgeführt wird. (Wieder funktioniert es nicht so wie es ist, weil der Pfad nicht korrekt ist).
Josh
quelle
-5

Öffnen Sie Ihr .bash_profile, gehen Sie mit Ihrem Fehlerbefehl zur Zeile und setzen Sie ein # als erstes Zeichen der Zeile davor. Neustart (um sicher zu sein).

LexS
quelle
Wie öffnet er sein .bash_profile?
user151019