OS X Ändern Sie Ihre PATH-Umgebungsvariable

Wenn Sie einen Befehl von einer UNIX- oder UNIX-ähnlichen Shell aus ausführen, sucht die Shell nach der ausführbaren Datei und verwendet die Verzeichnisse, die in Ihrer PATH-Variablen als Map aufgeführt sind. Wenn Sie der Umgebungsvariablen Verzeichnisse hinzufügen, müssen Sie nicht jedes Mal nach einer Datei suchen, wenn Sie sie ausführen. Wenn Sie diese Anweisungen befolgen, können Sie dem Suchpfad PATH ein Verzeichnis hinzufügen.


Um Ihren Pfad zu ändern, müssen Sie die .profile-Datei in Ihrem Basisverzeichnis bearbeiten. Wenn Sie mit dem vi-Editor vertraut sind, müssen Sie wahrscheinlich nicht weiter lesen. Wenn nicht, können Sie mit TextEdit Ihr .profile bearbeiten.

Das Standardprofil ist ziemlich kurz. Das .profile wird gelesen, wenn Sie ein Terminalfenster öffnen, und jede Zeile wird genauso ausgeführt, wie wenn Sie einen Befehl in das Terminalfenster eingeben. Dies ist zwar praktisch, da Sie bei jedem Ablegen in eine Shell jeden verfügbaren Befehl ausführen können. Es geht uns jedoch darum, die Umgebungsvariable PATH zu ändern.

Suchen Sie in Ihrem Editor die Zeile, die mit beginnt export PATH = Vergewissern Sie sich, dass der Verzeichnispfad nicht bereits enthalten ist. Manchmal kann die PATH-Variable langwierig werden, aber die Chancen stehen gut, dass Sie ein paar Verzeichnisse durch Doppelpunkte getrennt haben, vielleicht etwa so:

export PATH = / opt / local / bin: / opt / local / sbin: $ PFAD

Bevor Sie Änderungen vornehmen, sollten Sie einige Punkte beachten. Das Format dieser Zeile ist wichtig. Die Verwendung von Leerzeichen in diesem Befehl oder deren Mangel ist wichtig. Insbesondere dürfen keine Leerzeichen um das Gleichheitszeichen oder zwischen den Verzeichnissen stehen. Wenn das Verzeichnis, das Sie hinzufügen möchten, Leerzeichen enthält, müssen Sie das Leerzeichen entfernen, indem Sie einen \ backslash voranstellen oder den Pfad in Anführungszeichen setzen (export PATH = "/ path / here").

Das export = Das Schlüsselwort vor dieser Zeile hat einen ganz bestimmten Zweck. Wenn Sie eine Variable definieren, ohne sie zu exportieren, ist sie nur für die aktuelle Shell verfügbar, nicht für nachfolgende Shells. Sie denken vielleicht, dass Sie keine weiteren Shells erstellen möchten, dies geschieht jedoch, wenn Sie ein Shellskript ausführen. Wenn die PATH-Variable nicht exportiert wurde, wenn Sie ein Shell-Skript ausführen, existiert der PATH nicht mehr, und das Skript schlägt möglicherweise fehl.

Der $ PATH am Ende des obigen Beispiels bindet den vorherigen Wert der Variablen (falls vorhanden) an das Ende des PATH. Standardmäßig fügt dies ': / bin: / sbin: / usr / bin: / usr / sbin' am Ende des PFADS für Sie hinzu, was nützlich ist, da das meiste, was Sie von der Kommandozeile aus ausführen, dort lebt.

Um ein neues Verzeichnis zum Pfad hinzuzufügen, fügen Sie es einfach der vorhandenen PATH-Zeile in .profile hinzu. Dabei ist darauf zu achten, dass es von anderen Verzeichnissen mit Doppelpunkten getrennt wird und keine unerwünschten Leerzeichen eingefügt werden (alles nach dem Leerzeichen wird ignoriert). Um zum Beispiel das Verzeichnis / mightyq / bin zu dem oben gezeigten PATH hinzuzufügen, könnte die Zeile zu einem der folgenden Beispiele werden:

export PATH = / mightyq / bin: / opt / local / bin: / opt / local / sbin: $ PFAD
export PATH = / opt / local / bin: / mightyq / bin: / opt / local / sbin: $ PATH
export PATH = / opt / local / bin: / opt / local / sbin: $ PFAD: / mightyq / bin

Beachten Sie, dass im dritten Beispiel das neue Verzeichnis am Ende von PATH hinzugefügt wird. Sie haben die Möglichkeit, die Suchvorgänge zu optimieren, die Ihre Shell bei jedem Befehl ausführt, indem Sie Ihren PATH logisch organisieren. Wenn Sie weniger häufig verwendete oder sehr umfangreiche Verzeichnisse später in den Pfad einfügen, kann dies zu einer geringfügigen Leistungssteigerung führen (obwohl heutzutage die Dinge ziemlich schnell sind, müssen Sie ein wenig anal sein, um dies wirklich zu genießen).

Wenn Sie kein Verzeichnis in Ihrem Pfad benötigen, können Sie den Vorgang rückgängig machen, indem Sie das unerwünschte Verzeichnis löschen und dabei darauf achten, die Trennzeichen ohne Leerzeichen und Doppelpunkte einzuhalten.

Eine letzte Anmerkung: Um die vorgenommene Änderung zu testen, können Sie den Befehl echo verwenden. Sie müssen jedoch zuerst die .profile von der Shell neu laden. Wenn Sie sich in Ihrem Home-Verzeichnis befinden (falls nicht, führen Sie 'cd' ohne Optionen aus), führen Sie die folgenden Befehle aus:

… /.Profil
echo $ PATH

Der erste ist ein netter kleiner Befehl, der drei Verwendungen oder Interpretationen der Periode in einer einzigen Zeile zeigt. Der Erste . ist eine Verknüpfung, mit der die Shell veranlasst wird, die Quelle der nachfolgenden Datei als Quelle zu laden oder zu laden, und zwar in der Art und Weise, wie sie die Shell verwendet, wenn Sie sich bei einem System anmelden oder ein Terminalfenster starten. Wenn Sie diese Befehle einfach wie ein Shell-Skript ausführen (z. B. bash .profile), würden Sie eine neue Shell starten. Diese Shell würde die Variable setzen und am Ende der Ausführung des .profile-Skripts würde diese neue Shell aufhören existieren und die neu definierten Variablen würden in das fehlende Sockeluniversum verbannt.

Die zweite Periode bezeichnet das aktuelle Arbeitsverzeichnis. Es ist in keiner Weise in diesem Befehl obligatorisch, aber es ist eine Gewohnheit, die Punkte den Leuten zu erklären, also tippe ich es jetzt ständig. In diesem Zusammenhang können Sie auch ~ / .profile verwenden, da ~ explizit Ihr Heimatverzeichnis bedeutet.

Der letzte Punkt bewirkt, dass das Profil in einer normalen Verzeichnisliste oder Finder-Ansicht ausgeblendet wird. Es ändert die Datei nicht auf andere Weise, es macht sie nur unsichtbar und enträtselt Ihre Verzeichnisse. Um versteckte Dateien anzuzeigen, können Sie 'ls -a' verwenden. Sie werden überrascht sein, was Sie finden.