Dim*_*ims 0 path executable locate
是否可以准确定位该可执行文件
myname
Run Code Online (Sandbox Code Playgroud)
如果传递给命令行,它将运行
> myname
Run Code Online (Sandbox Code Playgroud)
locate
命令没有按预期工作,因为它返回了许多结果。结果应该正好是一个,因为如果你运行一些东西,只会运行一个文件。此外,结果应PATH
优先考虑。
在 shell 中,您通常会使用which
或type
为此,例如,
$ bash
$ which vile
/usr/bin/vile
$ type vile
vile is /usr/bin/vile
$
Run Code Online (Sandbox Code Playgroud)
type
是首选,因为它适用于POSIX shell,而它which
是 C-shell 的保留。在实践中,我使用了一个显示替代方案的脚本: