Ubuntu
which
是在騙我嗎?
我通過 git 安裝了
apt-get
,但發現版本已經過時了,所以我從 source 安裝了 git。最終的結果相當令人費解:$ git --version git version 1.7.0.4 $ which git /usr/local/bin/git $ /usr/local/bin/git --version git version 1.7.6
看來那
which
是在騙我……這似乎不太可能。這裡實際發生了什麼,我怎樣才能得到一個對 git 的裸呼叫來執行正確的版本?
which
說的是實話。你的殼在騙你。git is hashed (/usr/bin/git)
表示您的 shell 已經記憶體了“git”的這個位置,並且正在使用記憶體的路徑,而不是再次搜尋 $PATH。用於
hash -r
清除記憶體並使 shell 在 $PATH 中搜尋新的 git/usr/local/bin/git
您是否在 shell 中為 git 設置了別名?
$ alias git="/bin/echo This is not the git you are looking for" $ which git /usr/bin/git $ git --version This is not the git you are looking for --version $ /usr/bin/git --version git version 1.7.4.1 $ type git git is aliased to `/bin/echo This is not the git you are looking for' $ unalias git $ type git git is /usr/bin/git $ git --version git version 1.7.4.1