Wenn Sie sich auf Bash (oder einer anderen Bourne-ähnlichen Shell) befinden, können Sie verwenden type.
type command
commandZeigt an, ob eine Shell eingebaut ist, ob ein Alias (und wenn ja, ein Alias für was), eine Funktion (und wenn ja, ein Funktionshauptteil) oder eine Datei (und wenn ja, der Pfad zur Datei) vorliegt. .
Weitere Informationen zu einer "binären" Datei erhalten Sie hier
file "$(type -P command)"2>/dev/null
Dies gibt nichts zurück, wenn commandein Alias, eine Funktion oder eine Shell eingebaut ist, gibt aber mehr Informationen zurück, wenn es sich um ein Skript oder eine kompilierte Binärdatei handelt.
In ZSH können Sie die überprüfen aliases, functionsund commandsArrays.
(( ${+aliases[foo]}))&& print 'foo is an alias'(( ${+functions[foo]}))&& print 'foo is a function'(( ${+commands[foo]}))&& print 'foo is an external command'
Es gibt auch builtinsfür eingebaute Befehle.
(( ${+builtins[foo]}))&& print 'foo is a builtin command'
Antworten:
Wenn Sie sich auf Bash (oder einer anderen Bourne-ähnlichen Shell) befinden, können Sie verwenden
type
.command
Zeigt an, ob eine Shell eingebaut ist, ob ein Alias (und wenn ja, ein Alias für was), eine Funktion (und wenn ja, ein Funktionshauptteil) oder eine Datei (und wenn ja, der Pfad zur Datei) vorliegt. .Weitere Informationen zu einer "binären" Datei erhalten Sie hier
Dies gibt nichts zurück, wenn
command
ein Alias, eine Funktion oder eine Shell eingebaut ist, gibt aber mehr Informationen zurück, wenn es sich um ein Skript oder eine kompilierte Binärdatei handelt.Verweise
quelle
Die Antwort hängt davon ab, welche Shell Sie verwenden.
Für zsh
whence -w
sagt Ihnen Shell Builtin genau, was Sie wollenz.B
quelle
In ZSH können Sie die überprüfen
aliases
,functions
undcommands
Arrays.Es gibt auch
builtins
für eingebaute Befehle.quelle