Eliminar la salida estándar y la salida de errores de un comando | Algo de Linux

jueves, 10 de noviembre de 2016

Eliminar la salida estándar y la salida de errores de un comando

En ocasiones nos interesa ejecutar un comando y evaluar tan sólo el resultado de ejecutarlo, ignorando tanto la salida estándar como la salida de errores. En este post vamos a explicar cómo hacerlo:

La entrada y las salidas estándar y de errores son las siguientes:
  • stdin (entrada estándar): Descriptor 0 
  • stdout (salida estándar): Descriptor 1 
  • stderr (salida de errores): Descriptor 2 
Para eliminar las dos salidas lo que debemos hacer es:
  • Primero enviar a /dev/null stdout
  • y luego enviar stderr a dónde vaya stdout.
Ésto quedaría así:
>/dev/null 2>&1
Un ejemplo:
# id $usuario > /dev/null 2>&1
El comando anterior no mostraría nada por pantalla y podríamos comprobar el resultado de su ejecución con tan sólo consultar a continuación la salida del último comando: $?
Publicado por primera vez en http://enavas.blogspot.com.es