GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo saber si la salida de un comando o script de Shell es Stdout o Stderr?

Digamos que ejecuto un comando o script de shell y me da resultados. Sin conocer los aspectos internos de este comando o script de shell, ¿cómo se determina si la salida fue de stderr? o stdout ?

Por ejemplo,

$ ls -ld /
drwxrwxr-t  35 root  admin  1258 Dec 11 19:16 /

contra

ls -ld /test
ls: /test: No such file or directory

¿Cómo me aseguro de que el primer comando se imprimió en stdout? y el segundo a stderr (¿lo hizo?)?

Respuesta aceptada:

No hay forma de saberlo una vez que la salida ya se ha impreso. En este caso, tanto stdout y stderr están conectados a la terminal, por lo que la información sobre en qué secuencia se escribió ya se había perdido cuando apareció el texto en su terminal; el programa los combinó antes de llegar a la terminal.

Lo que puede hacer, en un caso como el anterior, sería ejecutar el comando con stdout y stderr redirigir a diferentes lugares y ver qué pasa. O ejecútelo dos veces, una vez con stdout redirigido a /dev/null y una vez con stderr redirigido a /dev/null y ver cuál de esos casos hace que aparezca el texto.

Puede redirigir stdout a /dev/null agregando >/dev/null al final de la línea de comando, y puede redirigir stderr a /dev/null agregando 2>/dev/null .


Linux
  1. Cómo asignar la salida de un comando de Linux a una variable

  2. Cómo guardar la salida del comando en un archivo en Linux

  3. Cómo imprimir la salida estándar de un comando en orden inverso en un shell de Linux

  4. ¿Cómo eliminar las primeras/últimas líneas 'n' de la salida del comando en Shell?

  5. ¿Cómo asignar la salida de un comando a una variable de shell?

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Cómo ejecutar comandos de Shell a través del servidor HTTP

Cómo crear un script de un comando de Linux

Cómo redirigir la salida del comando de shell

Cómo almacenar un comando de Linux como una variable en el script de Shell

¿Cómo ejecutar un comando en un script de Shell?