`which`的输出忽略重定向

she*_*n89 1 linux bash io-redirection

尝试谷歌搜索这个,但命令被称为'哪个',这有点棘手!

我的问题是这样的:我正在尝试重定向'which'命令的输出以使其静音,但它似乎忽略了我的重定向.例:

#> which foo 2>&1 >/dev/null
/usr/bin/which: no foo in <my PATH>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:在我的情况下,我希望抑制成功和失败消息,我的脚本只使用退出代码(并且失败消息是凌乱的).

小智 7

你需要2>&1事后说:

which foo >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

或者在Bash 4和更新版本中,简单地说:

which foo &>/dev/null
Run Code Online (Sandbox Code Playgroud)