Você pode dizer ao bash para refazer o resumo:
hash -r
Costumo me deparar com o caso em que estou trabalhando dentro de um virtualenv do Python e quero executar um programa Python executável (por exemplo, bpython). Eu corro, esquecendo que eu não o instalei no meu virtualenv, então não vai fazer a coisa certa. Então, eu instalei o bpython no meu virtualenv, mas se eu tentar executar a nova versão, o bash "lembra" o antigo e o chama.
Para ser mais concreto:
(venv)$ bpython
(whoops, system-level bpython!)
(venv)$ which bpython
/usr/local/bin/bpython
(venv)$ type bpython
bpython is hashed (/usr/local/bin/bpython)
(venv)$ pip install bpython
(venv)$ which bpython
/Users/lorin/.virtualenvs/venv/bin/bpython
(venv)$ type bpython
bpython is hashed (/usr/local/bin/bpython)
Como eu digo ao prompt do bash para "esquecer" que o local do bpython é /usr/local/bin/bpython
para essa sessão?
A redefinição da variável PATH
fará isso:
export PATH=$PATH
Tags bash