
Wie unterdrückt man die Ausgabe von systemctl?
Ich habe versucht
systemctl --quiet
systemctl -q
und selbst
systemctl 2>&1 1>/dev/null
nichts davon scheint zu funktionieren, wenn das Testen des Dienstes deaktiviert ist, obwohl der besagte Dienst bereits deaktiviert ist?
systemctl -q is-disabled dhcpcd
Antwort1
systemctl
unterstützt die Option nicht is-disabled
, Sie meinten wahrscheinlich is-enabled
. So verwenden Sie sie und leiten sowohl stdout als auch stderr nach /dev/null um:
systemctl is-enabled dhcpcd >/dev/null 2>&1
Antwort2
is-disabled
ist kein systemctl
Schlüsselwort.
Ich denke, das kommt Ihrem Wunsch am nächsten:
systemctl status service &>/dev/null || echo "is-disabled"
Ich verwende den Shell-Verzweigungsoperator „OR“. Diese Zeile wird gedruckt is-disabled
, wenn der vorherige Befehl einen Fehlerstatus zurückgibt, was systemctl tut, wenn der Dienst deaktiviert ist. Wenn Sie stattdessen testen möchten, ob der Dienst aktiviert ist, können Sie &&
anstelle von verwenden ||
. Dies echo
ist nur ein Beispiel für einen folgenden Befehl.