A explicação foi dada pelo comando hash
:
O comando hashmantém uma tabela de hash, que tem o caminho do comando usado nomes. Quando você executa um comando, ele procura por um comando no variável $ PATH. Mas se o comando estiver disponível na tabela de hash, pega de lá e executa.
Você pode excluir um comando específico de uma tabela de hash usando a opção -d
Então eu fiz:
buildbot@ip:~$ hash
hits command
3 /usr/bin/which
1 /usr/bin/vim
2 /usr/bin/cmake
buildbot@ip:~$ $ hash -d cmake
buildbot@ip:~$ hash
hits command
4 /usr/bin/which
1 /usr/bin/vim
buildbot@ip:~$ cmake --version
cmake version 2.8.7
buildbot@ip:~$ which cmake
/usr/bin/cmake
Por que não está encontrando /usr/local/bin/cmake
?
$ /usr/local/bin/cmake --version
-bash: /usr/local/bin/cmake: Permission denied
Este usuário não tem permissão para acessar o arquivo.
Eu reinstalei o cmake
e corrigi-lo.