bash存储变量并使结果静音

时间:2016-02-02 15:13:57

标签: bash shell

我想在bash中做这样的事情:

NUMBER_OF_WHATEVER="$(command | command2 | command3 )" 2>&1 /dev/null

所以我想将输出存储在变量上,但也不打印它。这显然不会阻止stderr打印(我可以看到来自command1的错误消息)。

由于

2 个答案:

答案 0 :(得分:4)

您需要在管道的每个命令中将stderr重定向到/dev/null或使用list {...} 2>/dev/null

{ number_of_whatever="$(command | command2 | command3)"; } 2>/dev/null

答案 1 :(得分:0)

你必须这样写:

NUMBER_OF_WHATEVER=$(command 2> /dev/null | command2 2> /dev/null | command3 2> /dev/null)