多重安装和理解 $PATH

多重安装和理解 $PATH

我已在以下位置安装了旧版本的 Git:

/usr/bin/

我最近下载了一个较新的版本来:

/usr/local/bin

当我输入:

which git

我得到了旧版本的位置。我相信这只是因为 /usr/bin/ 在我的 $PATH 变量中出现在 /usr/local/bin 之前,因此首先“找到”了旧版本的 git。

为了测试这一点,我将旧版本的 git 重命名为“git_old”。现在当我输入:

which git

正如预期的那样,我获得了较新版本的位置。但是当我输入:

git --version

我收到以下错误:

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

我只是想知道为什么我的计算机会回到旧位置寻找 Git?

答案1

Bash 缓存可执行文件的完整路径,这样它就不必$PATH每次都查看。

您可以使用以下命令查看缓存中的内容hash

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

可以使用以下方法清除缓存hash -r

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

其他资源

相关内容