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

问题描述 投票:1回答:1

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

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

请建议如何做到这一点?

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

bash shell systemctl
1个回答
3
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.