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