Quando executo um programa sem especificar o caminho completo para o executável, e o Bash deve pesquisar os diretórios $PATHpara encontrar o binário, parece que o Bash se lembra do caminho em algum tipo de cache. Por exemplo, instalei uma compilação do Subversion da fonte para /usr/locale digitei svnsync helpno prompt do Bash. Bash localizou o binário /usr/local/bin/svnsyncpara "svnsync" e o executou. Então, quando eu excluí a instalação do Subversion /usr/locale a executei novamente svnsync help, o Bash respondeu:
bash: /usr/local/bin/svnsync: No such file or directory
Mas, quando inicio uma nova instância do Bash, ele localiza e executa /usr/bin/svnsync.
Como limpo o cache de caminhos para os executáveis?