¿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
systemctl
no admite is-disabled
la 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-disabled
no es una systemctl
palabra 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-disabled
si 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 echo
solo un ejemplo del siguiente comando.