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.
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'
Odpowiedzi:
Jeśli korzystasz z Bash (lub innej powłoki podobnej do Bourne'a), możesz użyć
type
.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ć
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
źródło
Odpowiedź zależy od używanej powłoki.
W przypadku Zsh wbudowana powłoka
whence -w
powie ci dokładnie, czego chceszna przykład
źródło
W zsh można sprawdzić
aliases
,functions
icommands
tablic.Dostępne są także
builtins
polecenia wbudowane.źródło