コマンド置換で「systemctl status」を処理するのはなぜですか?

コマンド置換で「systemctl status」を処理するのはなぜですか?

スクリプトでsystemctl status出力を処理する奇妙な方法が見つかりました。

echo "$(systemctl status the_unit_name)" | grep -q 'Active: active'

明らかなものではなく:

systemctl status the_unit_name | grep -q 'Active: active'

このアプローチを使用すべき妥当な理由が見つかりません。私が欠けた理由はありますか?

ベストアンサー1

systemctl(周辺設定に応じて)無視される可能性があるシャットダウン状態に加えて、他の理由はありません。なぜコマンドをこのように書いたのかを説明する歴史的要因があるかもしれませんが、これを維持する理由はありません。

また、見ることができますサービスがスクリプトで実行されているかどうかをテストする「正しい」方法

おすすめ記事