Il y a quelques jours, j'étais satisfait de ma réponse. Je savais également que la which
commande n'est pas utilisée pour tester si une commande existe. Maintenant, je ne suis pas si satisfait de ma réponse, et je me réfère à cette excellente réponse .
Avec une simple which
commande:
which foo.sh
Ou une type
commande:
type foo.sh
Et vous pouvez influencer cela avec l'ordre des chemins dans votre $PATH
ou via un chemin absolu lorsque le script démarre, EG
/home/user/scripts/foo.sh
Exemple
Si le CHEMIN est défini comme ci-dessous
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Et vous démarrez un script ou quelque chose d'autre qui est dedans /usr/local/bin
et dedans /usr/bin
, le script dedans /usr/local/bin
comme une priorité plus élevée.
bash
etzsh
il y a aussi letype
intégré; au lieu de celazsh
which
, différemment debash
, est intégré (et non/usr/bin/which
)