在OS X系统中找不到where命令

10

好的,标题已经说明了问题,当我输入命令 where ... 时,它会返回

-bash: where: command not found

我的当前 bash 配置文件包含:

export PATH="/usr/local/lib:$PATH"
export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/lib/node_modules/bin:$PATH"

我在谷歌上搜了一会儿,发现大多数人只需要/usr/bin/usr/sbin这两个,而我都有。

有什么想法吗?

2个回答

23

"where"是csh的一个内置命令。这是否符合你的实际需求?

"which"和"whereis"位于/usr/bin下,可告诉你如何找到特定的命令。


是的,那就是我要找的,有趣的是我在$PATH中找不到/usr/bin。 - lostAstronaut

11

正如Stuart所说,where是tcsh的一个内建命令。它是which命令的扩展版本;which命令告诉你一个命令名解析到哪里,而where命令则显示所有可能找到该命令的地方(包括别名、内建命令以及在$PATH中的可执行文件)的列表。

在bash中,相对应的是type -a

如果您愿意,可以将此函数定义添加到您的.bashrc.bash_profile中:

where() { type -a "$@" ; }

输出的格式可能不完全一样,但它提供了相同的信息。

(或者您可以考虑重新训练自己使用type -a而不是 where 。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接