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

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads