systemctl の出力を抑制するにはどうすればよいですか?
私が試してみました
systemctl --quiet
systemctl -q
そしてさらに
systemctl 2>&1 1>/dev/null
当該サービスがすでに無効になっている場合にサービスのテストを無効にすると、これらのいずれも機能しないようです。
systemctl -q is-disabled dhcpcd
答え1
systemctl
is-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
次のコマンドの例にすぎません。