O Bash shell possui um comando hash -r
interno para redefinir o $PATH
cache interno dos executáveis.
Quando é necessário usar este comando?
Relacionado: Como refazer a execução de executáveis em $ PATH com bash
O Bash shell possui um comando hash -r
interno para redefinir o $PATH
cache interno dos executáveis.
Quando é necessário usar este comando?
Relacionado: Como refazer a execução de executáveis em $ PATH com bash
Respostas:
Portanto, quando as informações armazenadas em cache / armazenadas não forem mais atualizadas ou válidas, talvez seja necessário redefini-las.
Leia mais sobre esta bela resposta no Unix stackexchange .
fonte
Se você executou anteriormente um programa nessa chamada de shell e instalou outra versão dele em um diretório anterior da sua
$PATH
lista de pesquisa, precisará redefinir o hash para que ele o encontre no novo local. Caso contrário, ele usará o cache para encontrar o programa no local antigo.Você também precisará redefinir o hash se um programa estiver instalado em 2 diretórios no seu
$PATH
e remover a cópia do local anterior após executá-lo. Caso contrário, ele tentará encontrá-lo nesse local e informará "Esse arquivo ou diretório não existe" (pessoalmente, acho que ele deve limpar automaticamente o hash e fazer uma pesquisa completa quando isso acontecer, mas não aconteceu quando tentei )Observe que você realmente não precisa redefinir todo o hash, você pode usar:
para forçá-lo a atualizar a entrada de cache para esse nome ou:
para excluir apenas essa entrada de cache. Isso deixa todas as outras entradas de cache em paz.
Você não precisa usar
hash -r
após a modificação$PATH
; ela é redefinida automaticamente quando isso é feito.fonte