我在 中安装了一个新的可执行文件,/usr/local/bin
并且此目录在我的路径中位于 之前/usr/bin
。但是,bash 仍然更喜欢 中的版本,/usr/bin
直到我启动新的 bash 进程。该which
命令清楚地看到首选版本在 中/usr/local/bin
。
Bash 必须缓存可执行文件位置。是否可以刷新它以在 /usr/local/bin 中查看新版本,而无需重新启动 bash?
答案1
bash
缓存命令的完整路径。您可以使用以下命令验证尝试执行的命令是否经过哈希处理type
:$ type svnsync svnsync is hashed (/usr/local/bin/svnsync)
清除整个缓存:
$ hash -r
或者只有一个条目:
$ hash -d svnsync
欲了解更多信息,请咨询
help hash
和man bash
。