Wie setze ich $ PATH zurück?

13

Ich habe versucht, etwas zu $ ​​PATH hinzuzufügen, und es ist total schief gelaufen. Ich kann jetzt keine Befehle wie ausführen ls. Ich habe mir diese Antwort angesehen und die folgenden Zeilen verwendet:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
PATH=$PATH:~/bin

Diese Zeilen beheben das Problem vorübergehend. Beim Neustart des Terminals scheinen diese Änderungen jedoch vergessen zu werden.

Wie setze ich meinen $ PATH dauerhaft zurück?

Ich verwende die neueste Version von Mountain Lion.

Nosrettap
quelle
5
/bin/rm ~/.bash_profile
Behoben
2
Gute Frage. Sie könnten immer Ihre Lösung in eine Antwort setzen.
Bassist7
Auch auf Superuser
Glenn Jackman
1
Wenn Sie bemerken, dass Sie Ihr Problem bereits behoben haben, finden Benutzer mit einem ähnlichen Problem möglicherweise auch Hilfe bei/etc/paths
David Smith,

Antworten:

15

Die vorgeschlagene Antwort auf das Entfernen .bash_profileist im Allgemeinen keine gute Idee. Neben den PATHDefinitionen können in dieser Datei noch andere Einstellungen vorgenommen werden .

Wenn Sie die Auswirkungen Ihres Experiments rückgängig machen möchten, entfernen Sie einfach diese PATHZeile oder kommentieren Sie sie mit einem aus #.

Sie möchten das nicht PATHvon Grund auf bearbeiten , sondern es anfügen, wie Sie es bei Ihrer zweiten Zeile getan haben. Die bevorzugte Methode, Ihrem Pfad etwas hinzuzufügen, ist:

export PATH=$PATH:$HOME/bin

BEARBEITEN Da Ihr PATHComputer durcheinander ist, haben Sie keinen Zugriff auf die üblichen Befehle, um diese Änderungen vorzunehmen. Als vorübergehende Korrektur können Sie einen neuen minimalen Pfad in einem Terminalfenster (nicht in Ihrem .bash_profile) definieren, indem Sie Folgendes eingeben:

PATH=/bin:/usr/bin

Damit erhalten Sie vorübergehend Zugriff auf nano ls mv vi catund rm- die grundlegenden Tools zum Überprüfen und Bearbeiten .bash_profileund Beheben Ihres Problems ...

Wiederholen Sie diesen Vorgang, und legen Sie diese PATHDefinition nur für die Dauer der Sitzung ab, während Sie die Korrekturen vornehmen.

beroe
quelle
5

Ich empfehle:

source /etc/profile

Dies ist, was Mac verwendet, um den Anfangspfad festzulegen, und es wird alles außer den Elementen, die Sie für Ihren Benutzer hinzufügen, zurückgesetzt.

Ich habe in meinem ~ / .bash_profile ein ordentliches Maß an Pfadänderungen vorgenommen und diese am Anfang der Datei platziert, weil ich Probleme beim Neuladen meines Profils hatte, während ich arbeite, nachdem ich dort einen Alias ​​oder so etwas geändert habe und es fügte meinem Pfad doppelte Verweise hinzu. Anstatt zu überprüfen, ob es bereits hinzugefügt wurde, setze ich einfach meinen Pfad auf die Scratch-Version zurück und hänge die gewünschten Elemente erneut an.

rjferguson
quelle
3

Entfernen Sie das Bash-Profil, um die Standardeinstellungen wiederherzustellen $PATH. Geben Sie den folgenden Befehl in Terminal.app ein :

/bin/rm ~/.bash_profile

Die Änderung erfolgt mit der nächsten Shell- oder Terminalsitzung.

Graham Miln
quelle
Beantwortung, basierend auf den Kommentaren des ursprünglichen Fragestellers, um die Frage aus der unbeantworteten Warteschlange zu entfernen.
Graham Miln
4
Nun, wenn Sie andere Inhalte in Ihrem Profil behalten möchten, ist eine einfache /bin/mv ~/.bash_profile ~/bash_profilemöglicherweise besser
nohillside
1
Dies ist die einfachste Antwort, die ich auf den gesamten SE-Websites gefunden habe. Vielen Dank!
mr5
0

Die OSX-Standardeinstellung $PATHwird aus dem Inhalt der /etc/pathsDatei generiert . Die Änderung ist relativ einfach.

Chris Keele
quelle
1
Das Ändern /etc/pathsbirgt das Risiko, dass Änderungen durch das nächste OS X-Update überschrieben werden. Dies funktioniert auch nicht für benutzerspezifische Pfade wie ~/bin.
Nohillside
Das stimmt, obwohl ich normalerweise später mit denen in meinen .rc-Dateien umgehe. Ich habe meinen /etc/pathsReset auch noch nicht durch ein Update erhalten (seitdem ich anfange zu benutzen brew).
Chris Keele
Derzeit hacke ich eine Boxen-Provisionierung , von der ich hoffe, dass sie mich unempfindlich gegen zukünftige Überschreibungsupdates macht.
Chris Keele
0

Diese Methoden sind großartig! Wenn Sie dieses Problem mit zsh haben, entfernen Sie. ~/.zshrcDadurch werden Ihre zsh-Einstellungen jedoch gelöscht.

RedG3ar
quelle
Sie möchten lieber eine Kopie behalten/bin/mv ~/.bash_profile{,.bck}
MauroPorras