Linux 查看服务是否使用退出代码运行
我制作了一个简单的脚本,检查服务是否正在运行并返回退出代码,但我无法使它工作。如果有效,则退出0;如果无效,则退出1Linux 查看服务是否使用退出代码运行,linux,bash,if-statement,grep,Linux,Bash,If Statement,Grep,我制作了一个简单的脚本,检查服务是否正在运行并返回退出代码,但我无法使它工作。如果有效,则退出0;如果无效,则退出1 #!/bin/bash #Plugin for checking if the SSH service is running SERVICE='ssh' if [ ps aux | grep -v grep | grep $SERVICE > /dev/null ]; then exit 0 else exit 1 fi if语句可以
#!/bin/bash
#Plugin for checking if the SSH service is running
SERVICE='ssh'
if [ ps aux | grep -v grep | grep $SERVICE > /dev/null ];
then
exit 0
else
exit 1
fi
if
语句可以简单地替换为
ps aux | grep -v grep | grep -q "$SERVICE"
如果
grep-q
成功(即匹配ssh
),则管道的退出状态为0,否则为1。如果这是脚本的最后一行,shell的退出状态将是相同的:不需要显式调用exit
可以简单地替换If
语句
ps aux | grep -v grep | grep -q "$SERVICE"
如果
grep-q
成功(即匹配ssh
),则管道的退出状态为0,否则为1。如果这是脚本的最后一行,shell的退出状态将是相同的:不需要显式调用exit
可以简单地替换If
语句
ps aux | grep -v grep | grep -q "$SERVICE"
如果
grep-q
成功(即匹配ssh
),则管道的退出状态为0,否则为1。如果这是脚本的最后一行,shell的退出状态将是相同的:不需要显式调用exit
可以简单地替换If
语句
ps aux | grep -v grep | grep -q "$SERVICE"
如果
grep-q
成功(即匹配ssh
),则管道的退出状态为0,否则为1。如果这是脚本的最后一行,shell的退出状态将相同:不需要显式调用exit
这就是问题的原因:
if [ ps aux | grep -v grep | grep $SERVICE > /dev/null ];
- if语句的语法:
()if列表;然后…
根据列表的退出状态选择要执行的分支if
列表基本上是一个命令管道()
- 您正在使用
命令--是的,它不仅仅是一个语法命令。[
命令对它接受的参数有特定的要求()[
不喜欢您给出的参数[
if ps aux | grep -v grep | grep $SERVICE > /dev/null; then
或者,最好接受切普纳的建议并接受他的回答。这就是问题的原因:
if [ ps aux | grep -v grep | grep $SERVICE > /dev/null ];
- if语句的语法:
()if-list;then…
根据列表的退出状态选择要执行的分支if
列表基本上是一个命令管道()
- 您正在使用
命令--是的,它不仅仅是一个语法命令。[
命令对它接受的参数有特定的要求()[
不喜欢您给出的参数[
if ps aux | grep -v grep | grep $SERVICE > /dev/null; then
或者,最好接受切普纳的建议并接受他的回答。这就是问题的原因:
if [ ps aux | grep -v grep | grep $SERVICE > /dev/null ];
- if语句的语法:
()if-list;then…
根据列表的退出状态选择要执行的分支if
列表基本上是一个命令管道()
- 您正在使用
命令--是的,它不仅仅是一个语法命令。[
命令对它接受的参数有特定的要求()[
不喜欢您给出的参数[
if ps aux | grep -v grep | grep $SERVICE > /dev/null; then
或者,最好接受切普纳的建议并接受他的回答。这就是问题的原因:
if [ ps aux | grep -v grep | grep $SERVICE > /dev/null ];
- if语句的语法:
()if-list;then…
根据列表的退出状态选择要执行的分支if
列表基本上是一个命令管道()
- 您正在使用
命令--是的,它不仅仅是一个语法命令。[
命令对它接受的参数有特定的要求()[
不喜欢您给出的参数[
if ps aux | grep -v grep | grep $SERVICE > /dev/null; then
或者,更好的做法是接受切普纳的建议并接受他的回答。可能重复的查看我删除了括号,它起作用了。但是当我执行它时,如果服务ssh没有运行,它只返回0。可能重复的查看我删除了括号,它起作用了。但是当我执行它时,如果服务ssh没有运行,它只返回0。可能重复的查看我删除了括号,它工作了。但是当我执行时,如果服务ssh没有运行,它只返回0。可能重复的查看我删除了括号,它工作了。但是当我执行时,如果服务ssh没有运行,它只返回0。