Cuando ejecuto un programa sin especificar la ruta completa al ejecutable, y Bash debe buscar en los directorios $PATHpara encontrar el binario, parece que Bash recuerda la ruta en algún tipo de caché. Por ejemplo, instalé una compilación de Subversion desde el origen hasta /usr/local, luego escribí svnsync helpen el indicador Bash. Bash localizó el binario /usr/local/bin/svnsyncpara "svnsync" y lo ejecutó. Luego, cuando eliminé la instalación de Subversion /usr/localy volví a ejecutar svnsync help, Bash responde:
bash: /usr/local/bin/svnsync: No such file or directory
Pero, cuando comienzo una nueva instancia de Bash, se encuentra y se ejecuta /usr/bin/svnsync.
¿Cómo borro el caché de rutas a los ejecutables?