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, falls vorhanden. Dies ist für die explizite Suche nach normalen Programmen nützlich, während die Option --read-alias in einem Alias oder einer Funktion für which verwendet wird.

--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, falls vorhanden. Dies ist für die explizite Suche nach normalen Programmen nützlich, während die Option --read-functions in einem Alias oder einer Funktion für which verwendet wird.

--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 liefert die Anzahl der fehlgeschlagenen Argumente zurück oder -1, wenn kein Programm 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 Verzeichnis HOME wird über die Suche nach der Umgebungsvariablen HOME bestimmt, was abbricht, wenn diese Variable nicht existiert. Which wird zwei äquivalente Verzeichnisse als verschieden betrachten, wenn eines 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> und Helge Kreutzmann <debian@helgefjell.de> 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).