Si estás en Bash (u otro shell similar a Bourne), puedes usarlo type.
type command
le dirá si commandes un shell incorporado, alias (y si es así, alias a qué), función (y si es así, enumerará el cuerpo de la función) o almacenado en un archivo (y si es así, la ruta al archivo) .
Para obtener más información sobre un archivo "binario", puede hacer
file "$(type -P command)"2>/dev/null
Esto no devolverá nada si commandes un alias, función o shell incorporado, pero devuelve más información si es un script o un binario compilado.
En zsh puede comprobar los aliases, functionsy commandslas matrices.
(( ${+aliases[foo]}))&& print 'foo is an alias'(( ${+functions[foo]}))&& print 'foo is a function'(( ${+commands[foo]}))&& print 'foo is an external command'
También hay builtins, para los comandos incorporados.
(( ${+builtins[foo]}))&& print 'foo is a builtin command'
Respuestas:
Si estás en Bash (u otro shell similar a Bourne), puedes usarlo
type
.le dirá si
command
es un shell incorporado, alias (y si es así, alias a qué), función (y si es así, enumerará el cuerpo de la función) o almacenado en un archivo (y si es así, la ruta al archivo) .Para obtener más información sobre un archivo "binario", puede hacer
Esto no devolverá nada si
command
es un alias, función o shell incorporado, pero devuelve más información si es un script o un binario compilado.Referencias
fuente
La respuesta dependerá de qué shell estés usando.
Para zsh, Shell Builtin
whence -w
te dirá exactamente lo que quieresp.ej
fuente
En zsh puede comprobar los
aliases
,functions
ycommands
las matrices.También hay
builtins
, para los comandos incorporados.fuente