Se você estiver no Bash (ou outro shell semelhante ao Bourne), poderá usar type.
type command
informará se commandé um shell interno, alias (e, se for o caso, com alias do que), função (e se for o caso, listará o corpo da função) ou armazenado em um arquivo (e se for, o caminho para o arquivo) .
Para obter mais informações sobre um arquivo "binário", você pode fazer
file "$(type -P command)"2>/dev/null
Isso não retornará nada se commandhouver um alias, função ou shell incorporado, mas retornará mais informações se for um script ou um binário compilado.
Em zsh você pode verificar os aliases, functionse commandsarrays.
(( ${+aliases[foo]}))&& print 'foo is an alias'(( ${+functions[foo]}))&& print 'foo is a function'(( ${+commands[foo]}))&& print 'foo is an external command'
Há também builtins, para comandos internos.
(( ${+builtins[foo]}))&& print 'foo is a builtin command'
Respostas:
Se você estiver no Bash (ou outro shell semelhante ao Bourne), poderá usar
type
.informará se
command
é um shell interno, alias (e, se for o caso, com alias do que), função (e se for o caso, listará o corpo da função) ou armazenado em um arquivo (e se for, o caminho para o arquivo) .Para obter mais informações sobre um arquivo "binário", você pode fazer
Isso não retornará nada se
command
houver um alias, função ou shell incorporado, mas retornará mais informações se for um script ou um binário compilado.Referências
fonte
A resposta dependerá de qual shell você está usando.
Para o zsh, o shell builtin
whence -w
dirá exatamente o que você desejapor exemplo
fonte
Em zsh você pode verificar os
aliases
,functions
ecommands
arrays.Há também
builtins
, para comandos internos.fonte