Si j'exécute la test
commande dans bash, test
(évalue l'expression conditionnelle) l'utilitaire intégré est démarré:
$ type test
test is a shell builtin
$ type -a test
test is a shell builtin
test is /usr/local/bin/test
test is /usr/bin/test
$
Cependant, comme vu dans la sortie de type -a test
ci-dessus, il y en a un autre test
dans le répertoire / usr / local / bin et encore un autre dans le répertoire / usr / bin. Comment les exécutables sont-ils ordonnés, c'est-à-dire que les commandes intégrées sont toujours préférées et que le reste des commandes dépend de l'ordre du répertoire dans la variable $ PATH? De plus, est-il possible de changer l'ordre des exécutables démarrés, par exemple si je tape test
, alors / usr / bin / test est démarré au lieu de bash-builtin test
?
/usr/bin/test -f "$file"
...