which <cmd>
voir aussi options which
soutient pour les pseudonymes, si cela s'applique à votre cas.
Exemple
$ which foobar
which: no foobar in (/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/PC Connectivity Solution:/cygdrive/c/Windows/system32/System32/WindowsPowerShell/v1.0:/cygdrive/d/Program Files (x86)/Graphviz 2.28/bin:/cygdrive/d/Program Files (x86)/GNU/GnuPG
$ if [ $? -eq 0 ]; then echo "foobar is found in PATH"; else echo "foobar is NOT found in PATH, of course it does not mean it is not installed."; fi
foobar is NOT found in PATH, of course it does not mean it is not installed.
$
PS : Notez que tout ce qui est installé ne se trouve pas forcément dans PATH. Habituellement, pour vérifier si quelque chose est "installé" ou non, il faut utiliser les commandes d'installation propres au système d'exploitation. Par exemple rpm -qa | grep -i "foobar"
pour RHEL.
9 votes
Je suis tombé dessus par hasard. Je pense que c'est la même question que : stackoverflow.com/questions/592620/ mais il donne beaucoup plus de détails.
0 votes
@JerryTian merci pour le lien
2 votes
Il convient également de noter que Comment 'hash -r' et rafraîchir tous les shells ? y Quand rehacher les exécutables dans $PATH avec bash ?
0 votes
Cette question n'a pas été "déjà répondue" parce qu'elle pose des questions sur les scripts de l'interpréteur de commandes, ce qui signifie au minimum
sh
alors que la question posée est spécifique àbash
.