Siempre redirige el error a / dev / null


22

Sé que puedo redirigir los mensajes de error de un comando para /dev/nullusar la siguiente sintaxis:

command arg1 arg2 2>/dev/null

Pero, ¿hay alguna manera de hacer esto de manera predeterminada para que los mensajes de error siempre vayan /dev/null, a menos que especifique lo contrario?


1
En resumen: sí - redirigir / dev / stderr a / dev / null. Pero, si no puede resolverlo por su cuenta, no debe intentarlo, ya que es más probable que rompa algo fatalmente que tener éxito.
Benubird

@Benubird stderr! = / Dev / stderr. Redirigir ese archivo no hará nada. El archivo en / dev / es solo por conveniencia.
Chris Down

@ChrisDown tienes razón, / dev / stderr es solo un enlace. Aún así, muchos procesos escriben en eso en lugar de fd / 2, que también podría redirigir. A partir de ahí se vuelve más complicado, por eso dejé un comentario en lugar de una respuesta :).
Benubird,

Respuestas:


29

Muchos programas envían resultados a stderr que en realidad no son indicativos de errores. Por ejemplo, en algunos programas se usa para mostrar información que de otro modo afectaría la salida del programa (que está diseñado para ser canalizado a otro programa). Sin embargo, puedes hacer esto:

exec 2>/dev/null

No recomendaría hacer esto fuera de un script.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.