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