Uso de las redirecciones de error en Bash

Método 1. (Redirección de errores)

comando 2> error.log

Este primer método SIEMPRE crea el fichero error.log, pero solo tendrá contenido si la ejecución del comando fallase por cualquier motivo.

La salida por consola es suprimida y para ver el motivo del fallo deberíamos inspeccionar el fichero error.log.

 

Método 2. (Redirección de la salida - error y estándar)

comando &> comando.log

Este segundo método SIEMPRE crea el fichero comando.log y SIEMPRE tiene contenido.

La salida, tanto de éxito como de error, es redirigida al fichero comando.log.

 

Método 3. (Redirección estándar hacia fichero y supresión del error por la salida estándar)

comando > comando.log 2>&1

Este segundo método SIEMPRE crea el fichero comando.log y tendrá contenido solo si el comando tiene éxito y produce algún tipo de salida.

Otro modo de redireccionar la salida exitosa de un comando, pero esta vez a un pipe:

ls /bin/ 2>&1 | more

 

Método 4. (Redireccionar la salida estándar hacia la salida de error stdout to stderr)

comando 2>&1

 

Método 5. (Redireccionar la salida estándar hacia un fichero y la de error hacia otro)

(ls > comando.log) >& error.log

Este método SIEMPRE creará ambos ficheros, pero solo 1 de ellos tendrá contenido, dependiendo de si la salida del comando ejecutado fue exitosa o no.

A modo de consulta, aquí os dejo una lista de los códigos y su salida:

0 stdin (teclado)
1 stdout (salida estándar, como el monitor)
2 stderr (salida estándar de error, también el monitor)

No hay comentarios

Agregar comentario