我想在bash中做这样的事情:
NUMBER_OF_WHATEVER="$(command | command2 | command3 )" 2>&1 /dev/null
所以我想将输出存储在变量上,但也不打印它。这显然不会阻止stderr打印(我可以看到来自command1的错误消息)。
由于
答案 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)