如何检查已执行了什么命令?

如何检查已执行了什么命令?

foo.sh我有一个名为的shell 脚本/usr/local/sbin。此外,我还使用另一个同名脚本。它存储在 中/home/user/scripts

这两个路径都属于PATH。我如何才能知道foo.sh在命令行中输入时执行了哪一个脚本?我能影响它吗?

答案1

几天前我对我的答案很满意。我还知道该which命令不是用来测试命令是否存在的。现在我对我的答案不太满意,我参考了这个反响热烈


使用一个简单的which命令:

which foo.sh

或者type命令:

type foo.sh

$PATH你可以在脚本启动时通过路径的顺序或绝对路径来影响这一点,例如

/home/user/scripts/foo.sh

例子

如果 PATH 定义如下

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

并且您启动了 中的脚本或其他程序,/usr/local/bin其中/usr/bin中的脚本/usr/local/bin具有更高的优先级。

相关内容