Há alguns dias, fiquei satisfeito com a minha resposta. Eu também sabia que o comando which
não é usado para testar se existe um comando. Agora não estou tão satisfeito com a minha resposta e refiro-me a esta grande resposta .
Com um simples comando which
:
which foo.sh
Ou um comando type
:
type foo.sh
E você pode influenciar isso com a ordem dos caminhos em seu $PATH
ou por meio de um caminho absoluto quando o script for iniciado, E.G.
/home/user/scripts/foo.sh
Exemplo
Se o PATH estiver definido como abaixo
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
E você inicia um script ou outra coisa que esteja em /usr/local/bin
e em /usr/bin
, o script em /usr/local/bin
como uma prioridade mais alta.