Was ist eine PATH-Variable
Die Umgebungsvariable PATH speichert eine durch Doppelpunkte getrennte Liste von Speicherorten, um nach einem Befehl/einer Anwendung zu suchen, wenn einer auf der Befehlszeile ausgeführt wird. Wenn Sie beispielsweise einen Befehl wie ls oder vi ausführen, überprüft das System alle im PATH aufgeführten Verzeichnisse (in der Reihenfolge von links nach rechts), um die ausführbare Datei oder das Skript zu finden, das der Benutzer auszuführen versucht. Dies ermöglicht das Ausführen von Befehlen, ohne ihren Speicherort im Dateisystem zu kennen. Unten ist ein Beispiel für die PATH-Variable in Linux-Systemen.
# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Standardmäßig ist der PATH bereits so eingestellt, dass er in den folgenden Verzeichnissen sucht:
/usr/local/sbin /usr/local/bin /sbin /bin /usr/sbin /usr/bin
So überprüfen Sie den Wert der PATH-Variablen
Verwenden Sie einen der folgenden Befehle, um die Pfadliste des aktuellen Benutzers zu überprüfen:
# set | grep PATH PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# env | grep PATH PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Hinzufügen eines neuen Verzeichnisses zur PATH-Variablen für einen bestimmten Benutzer
Ein neues Verzeichnis kann dem PATH eines Benutzers hinzugefügt werden, indem ~/.bash_profile bearbeitet wird oder ~/.bashrc Dateien im Home-Verzeichnis des Benutzers. Zum Beispiel wird PATH normalerweise mit Zeilen ähnlich der folgenden in ~/.bash_profile:
gesetzt# vi ~/.bash_profile PATH=$PATH:$HOME/bin export PATH
Um dem Pfad ein neues Verzeichnis hinzuzufügen (z. B. „/new_path“), ändern Sie die PATH-Zeile, indem Sie sie am Ende hinzufügen:
# vi ~/.bash_profile PATH=$PATH:$HOME/bin:/new_path ### Notice the colon ':' between the directories
Kopieren Sie dann die PATH- und EXPORT-Zeilen von ~/.bash_profile nach ~/.bashrc, um sicherzustellen, dass der Pfad richtig eingestellt wird, unabhängig davon, wie sich der Benutzer am Computer anmeldet. Nach diesen Änderungen enthält PATH nun das Verzeichnis „/programs“, wenn sich der Benutzer das nächste Mal am System anmeldet.
Änderungen auf aktuelle Freigabe anwenden
Um den PATH nur für das aktuelle Bash-Terminal anzuwenden (ohne sich abzumelden), kann der folgende Befehl ausgeführt werden:
$ . ~/.bash_profileHINWEIS :Am besten abmelden und wieder anmelden, damit die ganze Umgebung es jetzt sieht.
Hinzufügen eines neuen Verzeichnisses zur PATH-Variablen für alle Benutzer
Der globale Pfad kann folgendermaßen aktualisiert werden:
1. Hinzufügen einer neuen Datei namens /etc/profile.d/mypath.sh soll bei der Anmeldung für alle Benutzer ausgeführt werden und enthält:
PATH=$PATH:/new_path
(Hinweis:Diese Methode betrifft alle Benutzer (bestehende und zukünftige Benutzer).
2. Bearbeiten der Datei namens /etc/skel/.bash_profile auf die gleiche Weise weiter oben in dieser Lösung beschrieben.
- Die Dateien in /etc/skel/ werden bei ihrer Erstellung in das Home-Verzeichnis jedes neuen Benutzers kopiert.
- Hinweis:Diese Methode wirkt sich nicht auf bestehende Benutzerkonten aus.