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