如何在Bash中安静输出命令?

时间:2018-01-29 00:41:08

标签: bash shell systemctl

我在bash脚本中编写了以下命令: service service1 status | grep -q "good"

在这里,我正在尝试quiet命令service service1 status

的输出

请建议如何做到这一点?

我已尝试过service service1 status | grep -q "good" > /dev/null但如果service service1 status失败,它仍然会输出命令

1 个答案:

答案 0 :(得分:3)

问题不在于grep -q - 它不会产生任何输出。我认为service命令正在写入stderr。所以,你需要重定向它:

service service1 status 2>&1 | grep -q "good"

除非这样做,否则grep将看不到service的输出,因此它在逻辑上也不正确。