我在bash脚本中编写了以下命令:
service service1 status | grep -q "good"
在这里,我正在尝试quiet
命令service service1 status
请建议如何做到这一点?
我已尝试过service service1 status | grep -q "good" > /dev/null
但如果service service1 status
失败,它仍然会输出命令
答案 0 :(得分:3)
问题不在于grep -q
- 它不会产生任何输出。我认为service
命令正在写入stderr。所以,你需要重定向它:
service service1 status 2>&1 | grep -q "good"
除非这样做,否则grep
将看不到service
的输出,因此它在逻辑上也不正确。