我在以下位置安装了旧版本的 Git:
/usr/bin/
Run Code Online (Sandbox Code Playgroud)
我最近下载了一个较新的版本:
/usr/local/bin
Run Code Online (Sandbox Code Playgroud)
当我输入:
which git
Run Code Online (Sandbox Code Playgroud)
我得到了旧版本的位置。我相信这只是因为 /usr/bin/ 出现在我的 $PATH 变量中的 /usr/local/bin 之前,所以旧版本的 git 首先被“找到”。
为了测试这一点,我将旧版本的 git 重命名为“git_old”。现在当我输入:
which git
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,我得到了较新版本的位置。但是当我输入:
git --version
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
-bash: /usr/bin/git: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我只是想知道为什么我的计算机要回到旧位置查找 Git?
Del*_*tik 31
Bash 缓存了可执行文件的完整路径,这样它就不必$PATH
每次都查看。
您可以使用以下hash
命令查看缓存中的内容:
deltik@node51 [~]$ hash
hits command
1 /usr/bin/git
Run Code Online (Sandbox Code Playgroud)
可以使用以下命令清除此缓存hash -r
:
deltik@node51 [~]$ hash -r
deltik@node51 [~]$ hash
hash: hash table empty
Run Code Online (Sandbox Code Playgroud)
hash
归档时间: |
|
查看次数: |
704 次 |
最近记录: |