GNU/Linux >> Tutoriales Linux >  >> Linux

Redirigir toda la salida al archivo en Bash

Todos los sistemas operativos POSIX tienen 3 flujos:stdin, stdout y stderr. stdin es la entrada, que puede aceptar stdout o stderr. stdout es la salida principal, que se redirige con > , >> o | . stderr es la salida de error, que se maneja por separado para que ninguna excepción se pase a un comando o se escriba en un archivo que podría romperse; normalmente, esto se envía a un registro de algún tipo, o se descarga directamente, incluso cuando se redirige la salida estándar. Para redirigir ambos al mismo lugar, use:

$command &> /some/file

EDITAR :gracias a Zack por señalar que la solución anterior no es portátil; use en su lugar:

$command > file 2>&1 

Si desea silenciar el error, haga:

$command 2> /dev/null

Esa parte está escrita en stderr, usa 2> para redirigirlo. Por ejemplo:

foo > stdout.txt 2> stderr.txt

o si quieres en el mismo archivo:

foo > allout.txt 2>&1

Nota:esto funciona en (ba)sh, verifique la sintaxis adecuada en su shell


Linux
  1. Cómo redirigir la salida a un archivo y salida estándar en Linux

  2. ¿Archivo equivalente ".bashrc" leído por todos los shells?

  3. ¿Cómo redirigir la salida de un programa a un archivo zip?

  4. ¿Qué forma de redirigir la salida de un programa y todavía hacer que vaya a la salida estándar?

  5. ¿Cómo redirigir solo Stderr?

Bash:escribir en archivo

Cómo redirigir stderr a stdout en Bash

Cómo redirigir la salida del comando de shell

¿Cómo redirigir la salida de system() a un archivo?

Redirección de salida de comando a archivo y terminal

Determinar si la salida es stdout o stderr