Top-Fragen
Zeitleiste
Chat
Kontext
Suchpfad
Umgebungsvariable, die eine Reihe von Verzeichnissen angibt, in denen sich ausführbare Programme befinden Aus Wikipedia, der freien Enzyklopädie
Remove ads
Der Suchpfad ist eine Verzeichnisliste, die in einem Betriebssystem angibt, in welchen Unterverzeichnissen innerhalb der Verzeichnisstruktur nach ausführbaren Dateien gesucht werden soll.[1] Eine vollständigere Bezeichnung im Deutschen ist daher auch Suchpfad für Programme.[2] Der Suchpfad wird über die Umgebungsvariable PATH
definiert, etwa unter Unix-Systemen wie beispielsweise macOS und Linux, sowie unter PC-kompatiblen Systemen mit DOS (historisch) und dessen Nachfolger Windows.
Remove ads
Unix
Zusammenfassung
Kontext
Unter unix-artigen Systemen nimmt die Unix-Shell das erste Wort auf der Kommandozeile als das Kommando oder als den Programmnamen. Während ein Kommando intern von der Shell selbst bereitgestellt wird, muss nach Programmen in Form von ausführbaren Dateien im Unix-Dateisystem gesucht werden, oder alternativ der vollständige (absolute oder relative) Pfad angegeben sein. Bei Unix-Shells ist es historischer Standard, dass sogar Programmdateien im aktuellen Verzeichnis mit dem Pfad angegeben sein müssen, um ausgeführt zu werden:
# ls MeinProgramm # MeinProgramm MeinProgramm: Kommando nicht gefunden. # ./MeinProgramm Mein Programm v.1 läuft...
Obwohl in diesem Beispiel eine ausführbare Datei mit dem Namen MeinProgramm
(Unix ist traditionell case-sensitiv) im aktuellen Verzeichnis vorhanden ist, wird diese von der Shell erst mit der Angabe des relativen Pfads ./
vor dem Programmnamen gefunden und ausgeführt. Ein Hinzufügen von .
für das jeweils aktuelle Verzeichnis in den Suchpfad ist zwar möglich (womit die Angabe von ./
vor dem Programmnamen entfallen würde), aus Sicherheitsgründen ist das jedoch meist nicht die Voreinstellung.[3][4][5][6]
Der Unix-Suchpfad nutzt den Doppelpunkt :
als Trennzeichen. Die angegebenen Verzeichnisse werden von links nach rechts nach dem aufzurufenden Programmnamen abgesucht.[2]
Um den aktuellen Suchpfad anzuzeigen, muss entweder die gesamte aktuelle Arbeitsumgebung (englisch environment) ausgegeben werden, oder nur die Umgebungsvariable PATH
:
# env SHELL=/bin/sh LANGUAGE=de:en_US PWD=/home/max LOGNAME=max HOME=/home/max LANG=de_DE.utf8 TERM=xterm USER=max PAGER=less PATH=/bin:/usr/bin:/home/max/bin MAIL=/usr/spool/mail/max _=/bin/env GROUP=users # echo $PATH /bin:/usr/bin:/home/max/bin
Zum Setzen oder Verändern des Suchpfads wird die Umgebungsvariable in üblicher Form gesetzt, was von der jeweiligen Shell abhängt.
Remove ads
DOS und Windows
Unter den PC-Betriebssystemen DOS und Windows kann mit dem Kommandozeilenbefehl PATH
die gleichnamige Systemvariable festgelegt werden.
PATH [d:]Pfad [;Pfad]
Als Trennzeichen dient das Semikolon ;
, die Angabe eines Laufwerksbuchstabens ist optional. Ohne weitere Paramenter gibt PATH
den aktuellen Suchpfad aus. Mit PATH ;
wird unter DOS der gesamte Suchpfad der aktiven Shell gelöscht.[7]
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads