Suchpfad
# Suchpfad

Der Suchpfad ist eine Verzeichnisliste, die in einem Betriebssystem angibt, in welchen Unterverzeichnissen innerhalb der Verzeichnisstruktur nach ausführbaren Dateien gesucht werden soll. Eine vollständigere Bezeichnung im Deutschen ist daher auch Suchpfad für Programme. 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.

## Unix

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 gesamte 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:

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.

Der Unix-Suchpfad nutzt den Doppelpunkt : als Trennzeichen. Die angegebenen Verzeichnisse werden von links nach rechts nach dem aufzurufenden Programmnamen abgesucht.

Um den aktuellen Suchpfad anzuzeigen, muss entweder die gesamte aktuelle Arbeitsumgebung (englisch environment) ausgegeben werden, oder nur die Umgebungsvariable PATH:

Zum Setzen oder Verändern des Suchpfads wird die Umgebungsvariable in üblicher Form gesetzt, was von der jeweiligen Shell abhängt.

## DOS und Windows

Unter den PC-Betriebssystemen DOS und Windows kann mit dem Kommandozeilenbefehl PATH die gleichnamige Systemvariable festgelegt werden.

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.

