Si noti che questo non è un duplicato. Sto chiedendo di disabilitare la cache, non cancellarla. Se hai una cache da cancellare, ovviamente non è disabilitata.
Nelle rare occasioni in cui noto la cache di cose che Bash ha trovato nel percorso, non è perché è utile, è perché è dannatamente fastidioso. Un esempio:
~ 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
In un'altra shell ...
~ dc$ which which
/usr/bin/which
Sono sicuro che questa memorizzazione nella cache avesse senso ai vecchi tempi in cui i dischi erano lenti e la memoria era costosa e limitata e quindi non si poteva memorizzare molto nella cache: memorizzare un percorso nella cache è più economico che memorizzare nella cache tutti i blocchi del disco necessari per trovare un comando . Ma in questi giorni non offre alcun vantaggio evidente e causa più problemi di quanti ne risolva. È un malfunzionamento, in procinto di essere un bug.
E non riesco nemmeno a trovare un modo per disabilitarlo. Qualche puntatore?
set +hper disabilitare l'hash.
/usr/binrimane interamente nella cache.