Tenga en cuenta que esto no es un duplicado. Estoy preguntando sobre deshabilitar el caché, no borrarlo. Si tiene que borrar un caché, obviamente no está deshabilitado.
En las raras ocasiones en que noto la memoria caché de bash de cosas que ha encontrado en el camino, no es porque sea útil, es porque es muy molesto. Un ejemplo:
~ dc$ export PATH=$HOME/bin:$PATH
~ dc$ cat bin/which
#!/bin/bash
echo "my which"
~ dc$ which
my which
~ dc$ rm bin/which
~ dc$ which which
-bash: /Users/dc/bin/which: No such file or directory
En otro caparazón ...
~ dc$ which which
/usr/bin/which
Estoy seguro de que este almacenamiento en caché tenía sentido en los viejos tiempos, cuando los discos eran lentos y la memoria era costosa y limitada, por lo que no podía almacenar mucho en caché: el almacenamiento en caché de una ruta es más barato que el almacenamiento en caché de todos los bloques de disco necesarios para encontrar un comando . Pero en estos días no proporciona ningún beneficio notable y causa más problemas de los que resuelve. Es un error, rayando en ser un error.
Y ni siquiera puedo encontrar una manera de desactivarlo. Cualquier puntero?
set +hpara deshabilitar el hashing.
/usr/binqueda completamente en caché.