在if语句中使用grep

New*_*nds 2 shell grep if-statement

我是shell脚本的初学者,需要一个脚本来检查一个进程的状态,并在输出时"输出","关闭时"输出"不运行".

我尝试了下面的一个,但它不起作用:

if [ -s `/opt/reds/recycle.sh status | grep "pid"` ];
then
    echo "running"
else
    echo "not running"
fi
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?

Jah*_*hid 5

if语句更改为:

if /opt/reds/recycle.sh status | grep "pid"
then
    ...
fi
Run Code Online (Sandbox Code Playgroud)

你可能想要沉默的grep:

-q安静的操作.
-s抑制错误消息(这里不需要,因为grep输入来自stdin).

通常,使用以下命令检查命令的退出状态if:

if command;then
   ...
fi
Run Code Online (Sandbox Code Playgroud)

  • 虽然你想在`grep`中添加一个`-q`标志,以避免将匹配打印到标准输出. (2认同)