Se mucho esto:
$ command 2>> error
$ command 1>> output
¿Hay alguna manera de que pueda enviar el stderr al archivo de error y el stdout de salida al archivo de salida en la misma línea de bash?
Solo agrégalos en una 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 dato existente en el archivo.
Entonces, command 2> error 1> output
si no quieres agregar.
Solo por completar, puede escribir 1>
como solo >
porque el descriptor de archivo predeterminado es la salida. así 1>
y >
es lo mismo.
Entonces, se command 2> error 1> output
convierte,command 2> error > output
1>
se puede escribir como>
command &2>err.log
, creo que estoy sintaxis totalmente confusa? (Puede estar en orden un enlace a una respuesta apropiada de todos los ismos de tubería bash)command &2>err.log
no es del todo legítimo: el ampersand en esa sintaxis se usa para el descriptor de archivo como objetivo, por ejemplocommand 1>&2
, redirigiría stdout a stderr.Prueba esto:
Más información
Los números a
0
través9
son descriptores de archivo en bash.0
significa entrada estándar,1
representa salida estándar,2
representa error estándar.3
a través9
son de repuesto para cualquier otro uso temporal.Cualquier descriptor de archivo puede ser redirigido a un archivo u otro descriptor de archivo utilizando el operador
>
. En su lugar, puede usar el operador>>
para agregar a un archivo en lugar de crear uno vacío.Uso:
Por favor refiérase a Bash-Scripting Guía avanzada: Capítulo 20. E / S redirección .
fuente
Como eso:
fuente
O si desea mezclar salidas (stdout y stderr) en un solo archivo, puede usar:
fuente
La salida de múltiples comandos se puede redirigir. Esto funciona para la línea de comandos o más útil en un script bash. El
-s
dirige la contraseña de inmediato a la pantalla.Los cmds de stdout / stderr de Hereblock se envían a archivos separados y nada que mostrar.
Los cmds stdout / stderr de Hereblock se envían a un solo archivo y se muestran.
Los cmds stdout / stderr de Hereblock se envían a archivos separados y stdout para mostrar.
Dependiendo de quién es usted (whoami) y nombre de usuario, se puede requerir o no una contraseña.
fuente