Bash Shell tiene un comando incorporado hash -r
para restablecer la $PATH
memoria caché interna de los ejecutables.
¿Cuándo es necesario usar este comando?
Relacionado: Cómo repetir ejecutables en $ PATH con bash
Bash Shell tiene un comando incorporado hash -r
para restablecer la $PATH
memoria caché interna de los ejecutables.
¿Cuándo es necesario usar este comando?
Relacionado: Cómo repetir ejecutables en $ PATH con bash
Respuestas:
Por lo tanto, cuando la información almacenada / en caché ya no se actualice o sea válida, es posible que deba restablecerla.
Lea más sobre esta buena respuesta en Unix stackexchange .
fuente
Si anteriormente ha ejecutado un programa en esa invocación de shell y luego instala otra versión de él en un directorio anterior en su
$PATH
lista de búsqueda, debe restablecer el hash para que lo encuentre en la nueva ubicación. De lo contrario, usará el caché para encontrar el programa en la ubicación anterior.También debe restablecer el hash si un programa está instalado en 2 directorios en su
$PATH
, y elimina la copia de la ubicación anterior después de haberlo ejecutado. De lo contrario, intentará encontrarlo en esa ubicación e informará "No existe tal archivo o directorio" (personalmente, creo que debería borrar automáticamente el hash y hacer una búsqueda completa cuando eso suceda, pero no sucedió cuando lo intenté )Tenga en cuenta que en realidad no tiene que restablecer todo el hash, puede usar:
para forzarlo a actualizar la entrada de caché solo para ese nombre, o:
para eliminar solo esa entrada de caché. Estos dejan todas las demás entradas de caché en paz.
No es necesario usar
hash -r
después de modificar$PATH
, se restablece automáticamente cuando se hace esto.fuente