Wie unterdrückt man die Ausgabe von systemctl?

Wie unterdrückt man die Ausgabe von systemctl?

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

systemctlunterstü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-disabledist kein systemctlSchlü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 echoist nur ein Beispiel für einen folgenden Befehl.

verwandte Informationen