Si vous êtes sur Bash (ou un autre shell de type Bourne), vous pouvez utiliser type.
type command
vous dira si commandun shell est intégré, un alias (et si oui, un alias vers quoi), une fonction (et si c'est le cas, il listera le corps de la fonction) ou stocké dans un fichier (et si oui, le chemin d'accès au fichier) .
Pour plus d'informations sur un fichier "binaire", vous pouvez faire
file "$(type -P command)"2>/dev/null
Cela ne renverra rien si commandun alias, une fonction ou un shell est intégré mais renvoie plus d'informations s'il s'agit d'un script ou d'un binaire compilé.
En zsh vous pouvez vérifier les aliases, functionset les commandstableaux.
(( ${+aliases[foo]}))&& print 'foo is an alias'(( ${+functions[foo]}))&& print 'foo is a function'(( ${+commands[foo]}))&& print 'foo is an external command'
Il y a aussi builtins, pour les commandes intégrées.
(( ${+builtins[foo]}))&& print 'foo is a builtin command'
Réponses:
Si vous êtes sur Bash (ou un autre shell de type Bourne), vous pouvez utiliser
type
.vous dira si
command
un shell est intégré, un alias (et si oui, un alias vers quoi), une fonction (et si c'est le cas, il listera le corps de la fonction) ou stocké dans un fichier (et si oui, le chemin d'accès au fichier) .Pour plus d'informations sur un fichier "binaire", vous pouvez faire
Cela ne renverra rien si
command
un alias, une fonction ou un shell est intégré mais renvoie plus d'informations s'il s'agit d'un script ou d'un binaire compilé.Les références
la source
La réponse dépendra du shell que vous utilisez.
Pour zsh, le shell intégré
whence -w
vous dira exactement ce que vous voulezpar exemple
la source
En zsh vous pouvez vérifier les
aliases
,functions
et lescommands
tableaux.Il y a aussi
builtins
, pour les commandes intégrées.la source