Odpowiedzi:
Jeśli korzystasz z Bash (lub innej powłoki podobnej do Bourne'a), możesz użyć type.
type command
powie ci, czy commandjest 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 commandjest 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, functionsi commandstablic.
(( ${+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 builtinspolecenia wbudowane.
(( ${+builtins[foo]} )) && print 'foo is a builtin command'