Bash:If/Else语句在一行

前端之家收集整理的这篇文章主要介绍了Bash:If/Else语句在一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图检查一个进程(假设它被称为some_process)是否正在服务器上运行。如果是,则返回1,否则返回0。

这是我使用的命令,但它只工作部分(更多信息下面)。注意,我需要在一行中写脚本。

ps aux | grep some_proces[s] > /tmp/test.txt && if [ $? -eq 0 ]; then echo 1; else echo 0; fi

注意:some_proces [s]中的[s]是为了防止grep返回本身。

如果some_process正在运行,那么“1”被回显,这是好的。但是,如果some_process未运行,则不会回显。

Arghhh。没有必要明确地检查$?做就是了:
ps aux | grep some_proces[s] > /tmp/test.txt && echo 1 || echo 0

注意,这依赖于echo不失败,这当然不能保证。更可靠的写法是:

if ps aux | grep some_proces[s] > /tmp/test.txt; then echo 1; else echo 0; fi

猜你在找的Bash相关文章