Vous pouvez utiliser le command
shell intégré pour contourner le processus de recherche normal et exécuter la commande donnée en tant que commande externe indépendamment de toute autre possibilité (shell intégré, alias, etc.). Cela se fait souvent dans des scripts qui doivent être portables sur tous les systèmes, bien que probablement plus couramment en utilisant la sténographie \
(comme dans \rm
plutôt que command rm
ou rm
, car en particulier ce dernier peut être aliasé à quelque chose de non connu comme rm -i
).
$ time
real 0m0.000s
user 0m0.000s
sys 0m0.000s
$ command time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
Cela peut être utilisé avec un alias, comme ceci:
$ alias time='command time'
$ time
Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose]
[--portability] [--format=format] [--output=file] [--version]
[--quiet] [--help] command [arg...]
$
L'avantage de ceci par exemple, alias time=/usr/bin/time
c'est que vous ne spécifiez pas le chemin complet vers le time
binaire, mais que vous retombez plutôt sur le mécanisme de recherche de chemin habituel.
La alias
commande elle-même peut aller par exemple dans ~ / .bashrc ou /etc/bash.bashrc (cette dernière est globale pour tous les utilisateurs du système).
Dans le cas contraire (forcer l'utilisation du shell intégré au cas où un alias est défini), vous utiliseriez quelque chose comme builtin time
, qui outrepasse le processus de recherche habituel et exécute le shell nommé intégré. La page de manuel bash mentionne que cela est souvent utilisé afin de fournir des cd
fonctionnalités personnalisées avec une fonction nommée cd
, qui à son tour utilise le module intégré cd
pour faire la chose réelle.
type -a <cmd>
.