
Ich habe diesen Befehl, den ich ausführe. Nennen wir ihn foo
. Ich kann ihn ausführen foo
, ohne den vollständigen Pfad anzugeben, foo
etwa so:
$ foo
missing args
Ich vermute, foo
dass es sich um ein Bash-Skript handelt, deshalb möchte ich mir den Quellcode darin ansehen foo
. Allerdings which foo
erhalte ich dabei die Standardfehlermeldung:
which: no foo in (/usr/local/bin ...removed for brevity ...)
Was gibt?
Antwort1
Sie können das type
integrierte Argument verwenden, das angibt, wie das Argument interpretiert würde, wenn es als Befehlsname verwendet würde, z. B. als Funktion, integriertes Argument, Binärcode (unter $PATH
).
$ f() { echo foo; }
$ type f
f is a function
f ()
{
echo foo
}
$ type type
type is a shell builtin
$ type grep
grep is /usr/bin/grep
$ alias z='echo zee zee'
$ type z
z is aliased to `echo zee zee'
Siehe auchWarum nicht verwenden "which"
? Was soll man dann verwenden?für eine ausführlichere Abhandlung zu diesem Thema.