Die Linux Path Umgebungsvariable
Unter Linux bestimmt die Variable PATH
-Umgebung den Speicherort von Programmen. Es ist eine Liste von Dateipfaden zu Verzeichnissen, in denen Binärdateien oder Symlinks abgelegt werden. Wenn ein Programmaufruf eingegeben wird, sucht die aktuelle Shell in PATH
nach der entsprechenden Binärdatei.
In diesem Artikel wird erläutert, wie die Variable PATH
-Umgebung bearbeitet wird, um Programme zu finden, die sich nicht an einem bestimmten Ort im Dateisystem befinden, wobei eine Bash shell
-Befehlszeile vorausgesetzt wird.
Verwendung von PATH
in Linux
Standardmäßig sucht die von Ihnen verwendete Shell nach der Umgebungsvariable PATH
, um Befehle in den durch PATH
angegebenen Verzeichnissen zu finden.
Wenn Sie beispielsweise cat
, ein gängiges Linux-Dienstprogramm, eingegeben haben, sucht die Shell normalerweise in Verzeichnissen wie /usr/bin
, /usr/local/bin
, /usr/sbin
und sucht nach a Programm namens cat
und führen Sie es aus.
Möglichkeiten zum Hinzufügen zur PATH
-Umgebung in Linux
Manchmal haben Sie möglicherweise Programme, die Sie an Orten auf Ihrem System installiert haben, die sich normalerweise nicht im PATH
befinden, wie z.B. Ihr Home-Ordner, in einer Situation, in der Sie keinen Root-Zugriff haben, um in Orte wie /usr/bin
zu installieren. Sie können einen Pfad an die Umgebungsvariable PATH
anhängen, um dies zu tun.
Angenommen, Sie möchten den Pfad /home/$USER/local/bin
– wobei $USER
eine Shell-Variable ist, die Ihren Benutzernamen enthält und jedes Mal vordefiniert wird, wenn Sie eine neue Shell-Sitzung starten – an den PATH
der Umgebung anhängen.
In Bash können Sie dies folgendermaßen tun:
export PATH=/home/$USER/local/bin:$PATH
Der Befehl export
stellt sicher, dass der geänderte PFAD
in alle Subshells oder andere child
Befehle exportiert wird, die innerhalb der aktuellen Shell aufgerufen werden.
Die Verwendung von export
ist normalerweise die sicherste Option, es sei denn, Sie müssen nur den PATH
für die aktuelle Shell ändern, aber einen untergeordneten Prozess aufrufen, der den alten PATH
-Wert verwendet. Denken Sie daran, dass Sie nur das Verzeichnis hinzufügen müssen, in dem der Befehl enthalten ist, nicht den tatsächlichen Pfad zum Befehl selbst.
Sie können auch PATH
festlegen, ohne zuerst zu exportieren, den Befehl ausführen und dann den neuen PATH
exportieren, nachdem der Befehl abgeschlossen ist, wie gezeigt:
PATH=/home/$USER/local/bin:$PATH
command-that-uses-old-PATH
export PATH
Wenn Sie beim Ausführen eines Skripts Variablen wie $USER
verwenden müssen, sollten Sie PATH
eine Zeichenfolge zuweisen, wie gezeigt:
export PATH="/home/$USER/local/bin:$PATH"
In einigen Situationen möchten Sie vielleicht den neuen Pfad an PATH
anhängen, anstatt ihn voranzustellen, in Fällen, in denen die Priorität der Befehlsposition keine große Rolle spielt, z. B. wenn Sie einen neuen Befehl hinzufügen.
An PATH
können Sie wie folgt anhängen:
export PATH=$PATH:/path/to/new/program