Redirección de la entrada y salida estándar en bash | Algo de Linux

miércoles, 8 de febrero de 2017

Redirección de la entrada y salida estándar en bash

En bash existen tres descriptores de archivo que representan:
  • 0: Entrada estándar (stdin). 
  • 1: Salida estándar (stdout).
  • 2: Error estándar (stderr).
Podemos redirigir tanto la entrada como la salida o el error utilizando diferentes símbolos:

> Redirigir la salida estándar
2> Redirigir la salida de error estándar
2>&1 Redirigir la salida de error estándar a la salida estándar
< Redirigir la entrada estándar
| Enviar la salida de un comando a otro
>> Añadir a la salida estándar
2>&1| Enviar la salida de error estándar y la salida de estándar a otro comando

Un ejemplo práctico:

Muchas veces utilizamos combinaciones de  comandos y no nos interesa que el resultado de esa combinación muestre información de errores en pantalla. Para resolverlo, simplemente podemos redirigir la salida de error estándar a la salida  estándar y ésta a su vez a /dev/null: 
# dpkg -l|grep 'ii  gawk' 2>&1>/dev/null
Publicado por primera vez en http://enavas.blogspot.com.es