7

好的,所以标题很容易解释,当我输入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而我两者都有。

有任何想法吗?

4

2 回答 2

20

"where" 是 csh 的内置 shell。那是你真正想要的吗?

"which" 和 "whereis" 在 /usr/bin 下,告诉你在哪里可以找到给定的命令。

于 2012-04-21T23:42:19.517 回答
8

正如 Stuart 所说,where是一个 tcsh 内置命令。这是命令的扩展版本whichwhich告诉您命令名称解析为什么,并显示可能找到命令where的所有位置(包括别名、内置命令和可执行文件)的列表。$PATH

bash 等价物是type -a.

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

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

输出的格式并不完全相同,但它为您提供了相同的信息。

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

于 2012-04-22T00:58:33.773 回答