我有一个调用的脚本jsl
在/usr/local/bin
。运行which jsl
在那里找到它。
我想暂时使用一个不同的版本,当echo $PATH
我看到它/usr/bin
在路径的早期。所以我添加了一个jsl
在该文件夹中调用的脚本,并且我已经验证它是可执行的并且在使用完整路径调用时可以正确运行。
但是,which jsl
仍然找到第一个版本,并且jsl
仍然运行它。
为什么我的新人jsl
没有which
被姓名发现或被处决?
小智 10
shell 可能正在缓存命令的位置。例如 zsh 执行此操作,并具有rehash
清除缓存的命令。