Odpowiedzi:
Jeśli korzystasz z Bash (lub innej powłoki podobnej do Bourne'a), możesz użyć type
.
type command
powie ci, czy command
jest wbudowana powłoka, alias (a jeśli tak, alias do czego), funkcja (a jeśli tak, to wyświetli treść funkcji) lub zapisana w pliku (a jeśli tak, ścieżka do pliku) .
Aby uzyskać więcej informacji na temat pliku „binarnego”, możesz to zrobić
file "$(type -P command)" 2>/dev/null
Nic nie zwróci, jeśli command
jest wbudowany alias, funkcja lub powłoka, ale zwróci więcej informacji, jeśli jest to skrypt lub skompilowany plik binarny.
Bibliografia
W zsh można sprawdzić aliases
, functions
i commands
tablic.
(( ${+aliases[foo]} )) && print 'foo is an alias'
(( ${+functions[foo]} )) && print 'foo is a function'
(( ${+commands[foo]} )) && print 'foo is an external command'
Dostępne są także builtins
polecenia wbudowane.
(( ${+builtins[foo]} )) && print 'foo is a builtin command'