서비스가 실행 중인지 표시하는 스크립트를 작성하려고 합니다.
명령:
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