In vielen Programmier-Tutorials werden Benutzer gebeten, etwas zu ihrem Programm hinzuzufügen, PATH
aber nicht zu erklären, was es ist. Die vorhandenen Ressourcen, die PATH
Benutzern erklären, die neu in der Befehlszeile sind, sind nicht sehr gut.
Was ist die Unix-
PATH
Variable?Ich habe gerade ein Programm heruntergeladen, dann versucht, einen Befehl im Terminal auszuführen und bekam
command not found
. Was hat das mit dem zu tunPATH
?Ich habe
PATH
mit diesem Befehl etwas hinzugefügt und dann haben die Dinge funktioniert:export PATH=/path/to/some/bin:$PATH
... aber dann bekam ich
command not found
wieder, wenn ich das nächste Mal meinen Computer startete. Wie kann ich dafür sorgen, dass es beiPATH
jedem Öffnen des Terminals eingeschaltet bleibt ?Wie kann
gcc
ich am besten feststellen, ob ein Programm wie Git oder bereits auf meinem Computer geladen ist?
Antworten:
Der UNIX-Pfad ist eine Umgebungsvariable, bei der es sich um eine Liste von Verzeichnissen handelt, in denen nach Programmen gesucht werden soll, die Sie ausführen möchten. So können Sie vermeiden, dass Sie den vollständigen Pfadnamen zum Ausführen von Dingen wie
/bin/ls
(z. B. durch Eingeben/bin
des Pfads) verwenden müssen.Ein Pfad kann beispielsweise bestehen aus:
Wenn Sie also den Befehl eingeben
xyzzy
, wird versucht, die erste gefundene Datei aus der aktuellen Liste auszuführen:(Es kann nicht ausführbare Dateien überspringen, wenn es klug ist).
Sie können dem Pfad Dinge mit einem Befehl wie dem folgenden hinzufügen:
welche Stellen
/directory/to/add
am Anfang der Pfadsuchliste und/low/priority/path
am Ende stehen.Dies ändert sich jedoch normalerweise nur für die aktuelle Shell. Wenn Sie in jeder Shell eine Änderung vornehmen möchten, sollten Sie diese Zeile zu einer Ihrer Startdateien hinzufügen, z. B.
$HOME/.profile
oder/etc/profile
. Die richtige Datei hängt von Ihrer Shell selbst und davon ab, wie Sie die Startdateien eingerichtet haben. Es ist nicht immer einfach zu sagen, wohin es gehen soll, aber die Regeln werden im Allgemeinen in der Manpage für die von Ihnen verwendete Shell erläutert.Normalerweise finden Sie einen Befehl im Pfad mit einem der folgenden Elemente:
um die
cmd
ausführbare Datei zu finden. Auf meinem Debian-System erhalte ich beispielsweise das folgende Transkript:quelle
:
als Trennzeichen zu verwenden, da dies auf * nix verwendet wird. Windows verwendet;
(wahrscheinlich, weil:
bereits eine Bedeutung in hatC:
).:
(in Java ist zum Beispielpath.separator
immer:
* nix).Was ist?
Die Umgebungsvariable PATH ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, die Ihre Shell durchsucht, wenn Sie einen Befehl eingeben.
Wie stelle ich es ein?
Wie kann ich dafür sorgen, dass es jedes Mal auf dem Pfad bleibt, wenn ich das Terminal öffne?
Fügen Sie die beiden vorherigen Zeilen ein
~/.bash_profile
(wenn Sie siebash
für das Terminal verwenden).quelle
PATH ist eine Umgebungsvariable für Unix-ähnliche Systeme.
Pfad festlegen:
export PATH=$PATH:<your path>
nicht festgelegter Pfad:
unset $PATH
Pfad dauerhaft einstellen
Aktivieren Sie in Ihrem Home-Ordner Ansicht -> Versteckte Dateien anzeigen .... Stift .bash_profile-Datei, bevor Sie die PATH-Zeile exportieren, fügen Sie diese Zeile hinzu .....
PATH=$PATH:<yourpath>
Abmelden und erneut anmelden ...... prüfen, ob es funktioniert ... gut! es sollte funktionieren.....
quelle