A causa deste problema foram entradas em cache (hash) na tabela de consulta do bash. bash
hashes de caminhos de comando para evitar pesquisas caras.
Meus agradecimentos ao @muru por me apontar na direção certa. O que eu fiz para resolver o problema foi usar o comando export $PATH$
que funcionou para mim.
Pesquisas adicionais indicam que você pode descobrir se o caminho está em cache (hash) usando o comando type
- type diff
(no meu caso) que retorna o caminho completo do comando semelhante a diff is /usr/bin/diff
Você pode adotar a abordagem cirúrgica e remover o cache (hash) de um único comando com o comando hash -d *command*
ou, no meu caso, hash -d diff
, que informa o sucesso com a saída de bash: hash: diff: not found
você também pode adotar a abordagem menos elegante e bem-sucedida de despejar toda a tabela de cache (hash) com hash -r
, que nada informa.
Fontes:
Experiência
Como livra-se de -bash: / usr / {package}: Nenhum arquivo ou diretório