tuberias significa salida redireccionamiento que pipes guardar filtros ejemplos dev comando archivo bash pipe output-redirect dev-null

bash - significa - redireccionamiento tuberias linux



¿Cómo redirigir todos los resultados a/dev/null? (3)

Quiero ejecutar un programa (google-chrome) en segundo plano, pero evitar que emita mensajes al terminal.

Intenté hacer esto:

google-chrome 2>&1 1>/dev/null &

Sin embargo, la terminal todavía se llena sin mensajes como:

[5746: 5746: 0802/100534: ERROR: object_proxy.cc (532)] Error al llamar al método: org.chromium.Mtpd.EnumerateStorag ...

¿Qué estoy haciendo mal? ¿Cómo redirecciono todo el resultado a /dev/null ?


En la sección Redirection el manual de referencia de bash dice:

El operador [n]>&word se utiliza para [...] duplicar los descriptores de archivos de salida.

Para redirigir stderr y stdout al file , debe usar el formulario

&>file

Con respecto a su caso, eso significa sustituto

2>&1 1>/dev/null

con

&>/dev/null


Los operadores de redirección se evalúan de izquierda a derecha. lo que hiciste mal fue poner 2>&1 primero, lo que señala 2 en el mismo lugar en el que se señala actualmente a 1 que es la pantalla del terminal local porque aún no has redirigido 1 . Lo que debe hacer es cualquiera de los siguientes:

2>/dev/null 1>/dev/null google-chrome &

o

2>/dev/null 1>&2 google-chrome &

La ubicación de los operadores de redirección en relación con el comando no importa. Puedes ponerlos antes o después del comando.


Parece que la sintaxis es diferente:

./a.out 1>/dev/null 2>&1 &

Ver los dispositivos para FD = 2 son diferentes cuando ./a.out 1>/dev/null 2>&1 y ./a.out 2>&1 1>/dev/null &

1) FD = 2 puntos a / dev / null

>./a.out 1>/dev/null 2>&1 & [1] 21181 >lsof -p `pidof a.out` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME a.out 21181 xxxxxxxxxxxxxxx 0u CHR 136,43 0t0 46 /dev/pts/43 a.out 21181 xxxxxxxxxxxxxxx 1w CHR 1,3 0t0 3685 /dev/null a.out 21181 xxxxxxxxxxxxxxx 2w CHR 1,3 0t0 3685 /dev/null

2) FD = 2 puntos a / dev / pts / 43

>./a.out 2>&1 1>/dev/null & [1] 25955 >lsof -p `pidof a.out` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME a.out 25955 xxxxxxxxxxxxxxx 0u CHR 136,43 0t0 46 /dev/pts/43 a.out 25955 xxxxxxxxxxxxxxx 1w CHR 1,3 0t0 3685 /dev/null a.out 25955 xxxxxxxxxxxxxxx 2u CHR 136,43 0t0 46 /dev/pts/43