値からポイントを削除

値からポイントを削除

サービスが実行されているかどうかを示すスクリプトを作成しようとしています。
コマンド:
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

関連情報