为什么我的 $PATH 中的第一个可执行文件没有被使用?

为什么我的 $PATH 中的第一个可执行文件没有被使用?

我有一个名为 的jsl脚本/usr/local/bin。跑步which jsl发现它在那里。

我想暂时使用不同的版本,当我echo $PATH看到它/usr/bin位于路径的较早位置时。因此,我添加了一个在该文件夹中调用的脚本jsl,并验证了它是可执行的,并且在使用完整路径调用时可以正确运行。

但是,which jsl仍然找到第一个版本,并且jsl仍然运行它。

为什么我的新人没有被名字jsl找到或被处决?which

答案1

shell 可能正在缓存命令的位置。例如 zsh 就是这样做的,并且有rehash清除缓存的命令。

相关内容