`which`的输出忽略重定向

时间:2013-11-28 15:46:27

标签: linux bash io-redirection

尝试使用Google搜索,但是命令被称为“哪个”,这有点棘手!

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

#> which foo 2>&1 >/dev/null
/usr/bin/which: no foo in <my PATH>

有什么想法吗?

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

2 个答案:

答案 0 :(得分:7)

之后你需要放2>&1

which foo >/dev/null 2>&1

或在Bash 4及更新版中,简单地说:

which foo &>/dev/null

答案 1 :(得分:2)

之间有区别:

$ command 2>&1 > file

$ command > file 2>&1

你想要的是第二个,即

$ which foo >/dev/null 2>&1