¿Cómo suprimir la salida de systemctl?

¿Cómo suprimir la salida de systemctl?

¿Cómo suprimir la salida de systemctl?

Yo he tratado

systemctl --quiet
systemctl -q

e incluso

systemctl 2>&1 1>/dev/null

¿Ninguno de estos parece funcionar cuando la prueba del servicio está deshabilitada cuando dicho servicio ya está deshabilitado?

systemctl -q is-disabled dhcpcd

Respuesta1

systemctlno admite is-disabledla opción, probablemente quisiste decir is-enabled. Para usarlo y redirigir tanto stdout como stderr a /dev/null:

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

Respuesta2

is-disabledno es una systemctlpalabra clave.

Esto se acerca más a lo que creo que quieres:

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

Estoy usando el operador shell OR de ramificación. Esa línea se imprimirá is-disabledsi el comando anterior devuelve un estado de error que systemctl hará en caso de que el servicio esté deshabilitado. Si desea probar si el servicio está habilitado, puede utilizar &&en lugar de ||. Es echosolo un ejemplo del siguiente comando.

información relacionada