systemctl の出力を抑制するにはどうすればよいですか?

systemctl の出力を抑制するにはどうすればよいですか?

systemctl の出力を抑制するにはどうすればよいですか?

私が試してみました

systemctl --quiet
systemctl -q

そしてさらに

systemctl 2>&1 1>/dev/null

当該サービスがすでに無効になっている場合にサービスのテストを無効にすると、これらのいずれも機能しないようです。

systemctl -q is-disabled dhcpcd

答え1

systemctlis-disabledオプションをサポートしていない場合は、 を意味している可能性がありますis-enabled。これを使用して、stdout と stderr の両方を /dev/null にリダイレクトするには、次のようにします。

systemctl is-enabled dhcpcd >/dev/null 2>&1

答え2

is-disabledキーワードではありませんsystemctl

これはあなたが望んでいるものに近いと思います:

systemctl status service &>/dev/null || echo "is-disabled"

私はシェルの OR 分岐演算子を使用しています。その行は、is-disabled前のコマンドがエラー ステータスを返すかどうかを示します。これは、サービスが無効になっている場合に systemctl が行う処理です。サービスが有効になっているかどうかをテストする場合は、&&の代わりにを使用できます||。 は、echo次のコマンドの例にすぎません。

関連情報