可执行文件在哪里?

可执行文件在哪里?

我运行了这个命令。我们就这样称呼它吧foo。我可以foo在不指定完整路径的情况下执行,foo如下所示:

$ foo
missing args

我怀疑foo是 bash 脚本,所以我想查看 中的源代码foo,但是当我这样做时,which foo我收到标准错误消息:

which: no foo in (/usr/local/bin ...removed for brevity ...)

是什么赋予了?

答案1

您可以使用type内置,它指示如果用作命令名称,例如作为函数、内置、二进制文件(在 下$PATH),参数将如何解释

$ f() { echo foo; }
$ type f
f is a function
f ()
{
    echo foo
}
$ type type
type is a shell builtin
$ type grep
grep is /usr/bin/grep
$ alias z='echo zee zee'
$ type z
z is aliased to `echo zee zee'

也可以看看为什么不使用"which"?那该用什么呢?有关该主题的更详细的文章。

相关内容