我正在尝试编写一个脚本来显示服务是否正在运行。
命令:
service ntpd status | awk '{print $5}'
输出:
running...
我怎样才能删除这些点?或者是否有更好的方法来查明服务是否正在运行?
答案1
您可以使用 awk 的gsub
命令:
$ service ntpd status | awk '{gsub(/[.]/,"");print $NF}'
running
使用是NF
因为状态字通常是输出的最后一个字。
该命令service
是检查服务的旧方法(对于尚未使用 systemctl 的系统)。与 systemd 一起使用:
systemctl is-active sshd >/dev/null 2>&1 && echo YES || echo NO
答案2
我尝试使用下面的 sed 命令,效果很好
@praveen_linux_example ~]# service sshd status| sed "s/\.//g"
openssh-daemon (pid 2268) is running
答案3
如果你坚持sed
:
service ntpd status | sed 's/^.* \|\.*$//g'
running