salida redireccionamiento por pipes mensajes los guardar generados error envían ejemplos dónde defecto comandos comando archivo linux bash

linux - redireccionamiento - Cómo redirigir stderr y stdout a diferentes archivos en la misma línea de bash?



stderr linux (4)

Como eso:

$ command >>output 2>>error

Sé mucho de esto

$ command 2>> error $ command 1>> output

¿Hay alguna forma de que pueda enviar la stderr al archivo de error y dar salida a stdout al archivo de salida en la misma línea de bash?


O si desea mezclar salidas (stdout y stderr) en un solo archivo, puede usar:

command > merged-output.txt 2>&1


Prueba esto:

your_command 2>stderr.log 1>stdout.log

Más información

Los numerales del 0 al 9 son descriptores de archivos en bash. 0 significa entrada estándar, 1 significa salida estándar, 2 significa error estándar. 3 a 9 son de repuesto para cualquier otro uso temporal.

Cualquier descriptor de archivo puede ser redirigido a un archivo oa otro descriptor de archivo usando el operador > . En su lugar, puede usar el operador >> para agregar a un archivo en lugar de crear uno vacío.

Uso:

file_descriptor > nombre de archivo

file_descriptor > & file_descriptor

Por favor, consulte tldp.org/LDP/abs/html/io-redirection.html .


Solo agréguelos en un command 2>> error 1>> output línea command 2>> error 1>> output

Sin embargo, tenga en cuenta que >> es para agregar si el archivo ya tiene datos. Mientras que, > sobrescribirá cualquier información existente en el archivo.

Por lo tanto, command 2> error 1> output si no desea agregar.

Solo por completar, puede escribir 1> como simplemente > ya que el descriptor de archivo predeterminado es el resultado. entonces 1> y > es lo mismo.

Entonces, el command 2> error 1> output convierte en command 2> error 1> output , command 2> error > output