好的,所以标题非常自我解释,当我输入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
这两个人。
有什么想法吗?
答案 0 :(得分:16)
“where”是内置csh的shell。那是你真正想要的吗?
“which”和“whereis”位于/ usr / bin下,并告诉您在哪里可以找到给定的命令。
答案 1 :(得分:7)
正如Stuart所说,where
是一个tcsh内置命令。它是which
命令的扩展版本; which
告诉您命令名称解析的内容,where
显示可能找到命令的所有位置(包括$PATH
中的别名,内置和可执行文件)的列表。 / p>
bash等价物为type -a
。
如果您愿意,可以将此功能定义添加到.bashrc
或.bash_profile
:
where() { type -a "$@" ; }
输出的格式不完全相同,但它会为您提供相同的信息。
(或者您可以考虑重新训练自己使用type -a
而不是where
。)