Comment `quelle cmd`! = Cmd?


2

Quelqu'un peut-il expliquer cela?

$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 12 2010 12:47:31)
$ `which vim` --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 13 2011 22:52:17)

Je viens de compiler la dernière version de vim et de l’installer $HOME/bin, qui est le premier chemin d’accès $PATH. which vimrenvoie le chemin correct: /home/user/bin/vimcependant, lorsque je l'exécute, vimil se lance /usr/bin/vim.

J'ai lancé un autre xterm et le problème a disparu, mais je suis toujours curieux de savoir comment le terme précédent est entré dans un état aussi étrange. Des idées?

Réponses:


5

Sous UNIX, lorsque vous exécutez une commande, le shell enregistre le chemin où il a trouvé le binaire. Si vous modifiez ensuite le chemin ou installez une version différente du répertoire plus tôt dans celui-ci, le shell ne le trouvera pas car il ne cherchera pas les commandes déjà trouvées.

Si vous aviez tapé hash -ravant de comparer vim et vim, vous n'auriez pas vu cet écart.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.