o bash não faz hash todo o conteúdo de PATH
. Ele só tem uma lista de comandos que foram usados durante esta sessão (também conhecida neste processo de shell). Por exemplo:
$ hash hits command 1 /home/grawity/code/bin/todo $ ls boot/ dev/ etc/ home/ usr/ ... $ hash hits command 1 /usr/bin/ls 1 /home/grawity/code/bin/todo
Portanto, hash -r
só é necessário se você usou um programa pelo menos uma vez no shell atual e depois o moveu para outro lugar.