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?

Ricardo
fuente
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.

Chris Down
fuente