WHICH(1)

BEZEICHNUNG
which - zeigt den vollständigen Pfad von (Shell-)Befehlen

ÜBERSICHT
which [Optionen] [--] Programmname […]

BESCHREIBUNG
which akzeptiert eines oder mehrere Argumente. Für jedes dieser Argumente schreibt es den vollständigen Pfad der ausführbaren Dateien, die ausgeführt werden würden, wenn dieses Argument an der Eingabeaufforderung der Shell eingegeben wird, in die Standardausgabe. Die vollständigen Pfade werden ermittelt, indem in den in der Umgebungsvariable PATH aufgelisteten Verzeichnissen nach einer ausführbaren Datei oder einem Skript gesucht wird. Dabei wird der gleiche Algorithmus wie der der bash(1) verwendet. Diese Handbuchseite wurde aus der Datei which.texinfo erzeugt.

OPTIONEN

--all, -a
    gibt nicht nur die erste, sondern alle passenden ausführbaren Dateien in PATH aus.

--read-alias, -i
    liest Aliase aus der Standardeingabe, wobei Treffer in die Standardausgabe geschrieben werden. Dies ist in Kombination mit der Verwendung eines Alias für which selbst nützlich. Zum Beispiel:
    alias which=’alias | which -i’.

--skip-alias
    ignoriert die Option --read-alias, sofern diese angegeben wurde. Damit können Sie explizit nach gewöhnlichen ausführbaren Programmen suchen, während Sie die Option --read-alias in einem Alias oder einer Funktion für which verwenden.

--read-functions
    liest Shell-Funktionsdefinitionen aus der Standardeingabe, wobei Treffer in die Standardausgabe geschrieben werden. Dies ist in Kombination mit der Verwendung einer Shell-Funktion für which selbst nützlich. Zum Beispiel:
    which() { declare -f | which --read-functions $@ }
    export -f which

--skip-functions
    ignoriert die Option --read-functions, sofern diese angegeben wurde. Damit können Sie explizit nach gewöhnlichen ausführbaren Programmen suchen, während Sie die Option --read-functions in einem Alias oder einer Funktion für which verwenden.

--skip-dot
    überspringt Verzeichnisse in PATH, die mit einem Punkt beginnen.

--skip-tilde
    überspringt Verzeichnisse in PATH, die mit einer Tilde beginnen, sowie ausführbare Dateien, die sich im HOME-Verzeichnis befinden.

--show-dot
    gibt den Programmnamen in der Form »./Programmname« anstelle des vollständigen Pfades aus, falls ein Verzeichnisname in PATH mit einem Punkt beginnt und eine passende ausführbare Datei für diesen Pfad gefunden wurde.

--show-tilde
    gibt eine Tilde aus, wenn ein passendes Verzeichnis das HOME-Verzeichnis ist. Diese Option wird ignoriert, wenn which als Root ausgeführt wird.

--tty-only
    stoppt die Ausführung der auf diese Option folgenden Optionen, wenn die Ausgabe kein Terminal ist.

--version,-v,-V
    schreibt Versionsinformationen in die Standardausgabe und beendet das Programm erfolgreich.

--help
    schreibt Informationen zur Verwendung in die Standardausgabe und beendet das Programm erfolgreich.

RÜCKGABEWERT
which gibt die Anzahl der fehlgeschlagenen Argumente zurück, oder -1, wenn kein Programmname angegeben wurde.

BEISPIEL
Es ist zu empfehlen, dass Sie für which einen Alias (C-Shell) oder eine Shell-Funktion (Bourne-Shell) folgendermaßen hinzufügen: [ba]sh:
which ()
{
  (alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@
}
export -f which
[t]csh:
alias which ’alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde’
Mit dem folgenden Befehl werden die lesbaren Verzeichnisse ~/ und ./ ausgegeben, wenn Sie ihn an einer Eingabeaufforderung eingeben, während bei Verwendung in einem Skript der vollständige Pfad ausgegeben wird:
> which q2
~/bin/q2
> echo $(which q2)
/home/carlo/bin/q2

FEHLER
Das HOME-Verzeichnis wird aus dem Inhalt der Umgebungsvariable HOME ermittelt, was zum Programmabbruch führt, falls diese nicht existiert. which betrachtet zwei an sich gleiche Verzeichnisse als unterschiedlich, falls eines der Verzeichnisse einen Pfad mit einem symbolischen Link enthält.

AUTOR
Carlo Wood (carlo@gnu.org)

SIEHE AUCH
bash(1)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.