如何准确定位该可执行文件,如果在命令行中输入了名称,则该可执行文件将运行?

如何准确定位该可执行文件,如果在命令行中输入了名称,则该可执行文件将运行?

是否可以准确定位该可执行文件

myname

如果传递到命令行,它将运行

> myname

locate命令未按预期工作,因为它返回大量结果。结果应该恰好是 1,因为如果您运行某些内容,则只会运行一个文件。此外,应PATH优先考虑结果。

答案1

在 shell 中,您通常会使用whichortype来实现此目的,例如,

$ bash
$ which vile
/usr/bin/vile
$ type vile
vile is /usr/bin/vile
$ 

type是首选,因为它有效POSIX shell,而是whichC-shell 的延续。在实践中,我使用一个显示替代方案的脚本:

相关内容