Múltiplas Instalações e Entendendo o $ PATH

17

Eu tenho uma versão antiga do Git instalada em:

/usr/bin/

Recentemente, baixei uma versão mais recente para:

/usr/local/bin

Quando eu digito:

which git

Eu obtenho a localização da versão antiga. Eu acredito que isto é apenas porque / usr / bin / aparece antes de / usr / local / bin na minha variável $ PATH e então a versão mais antiga do git é 'found' primeiro.

Para testar isso, renomei a versão mais antiga do git para "git_old". Agora quando eu digito:

which git

Eu obtenho o local da nova versão, como esperado. Mas quando eu digito:

git --version

Eu recebo o seguinte erro:

-bash: /usr/bin/git: No such file or directory

Só estou me perguntando por que meu computador está voltando a procurar no local antigo pelo Git?

    
por user1551817 25.07.2016 / 16:57

1 resposta

30

O Bash armazena em cache o caminho completo para os executáveis, para que não precise examinar $PATH todas as vezes.

Você pode ver o que está no cache usando o comando hash :

deltik@node51 [~]$ hash
hits    command
   1    /usr/bin/git

Esse cache pode ser limpo com hash -r :

deltik@node51 [~]$ hash -r
deltik@node51 [~]$ hash
hash: hash table empty

Recursos adicionais

por 25.07.2016 / 17:16

Tags