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