¿Cómo puedo ocultar la salida de una aplicación de shell en Linux?

¿Cómo puedo ocultar la salida de una aplicación de shell en Linux?

¿Cómo puedo ocultar la salida de pantalla (printf) de una aplicación de shell en Linux?

Respuesta1

Puede redirigir la salida de cualquier programa para que no se vea.

$ program > /dev/null

Esto redirigirá la salida estándar; aún verás errores.

$ program &> /dev/null

Esto redirigirá todos los resultados, incluidos los errores.

Respuesta2

Hay tres dispositivos de E/S disponibles en la línea de comando.

 standard input  - 0
 standard output - 1
 standard error  - 2

Para redirigir la salida estándar (la salida predeterminada) a un archivo (y sobrescribir el archivo), use

 command > file.log

Para agregar a file.log, use dos >s

 command >> file.log

Para redirigir el error estándar al archivo.log, utilice

 command 2> file.log

y para agregar

 command 2>> file.log

Para combinar las salidas en una sola secuencia y enviarlas todas a un solo lugar

 command > file.log 2>&1

Esto envía 2 (error estándar) a 1 (salida estándar) y envía la salida estándar a file.log

Tenga en cuenta que también es posible redirigir la entrada estándar a un comando que espera una entrada estándar.

 command << file.txt


Para más detalles, consulte elGuía avanzada de secuencias de comandos Bash.

Respuesta3

Ocultar salida estándar:

./command >/dev/null

Ocultar salidas estándar y de error:

./command >/dev/null 2>&1

Oculte la salida estándar y las salidas de error y libere la terminal (ejecute el comando en segundo plano):

./command >/dev/null 2>&1 &

Respuesta4

ParaMacOS X v10.6(Leopardo de nieve):

Si necesita ocultar la salida sin que el programa lo sepa comprobando el descriptor del archivo de salida/error, puede intentar usar lo siguiente en un shell:

stty flusho; command ;stty -flusho

o si por cierto simplemente quieres ocultar la entrada desde la terminal:

stty  -echo; command ;stty  echo

Consulte la página del manual de stty(1) para obtener más información.

Para Linux, todo lo que sé es queubuntu 10.04(Lucid Lynx) y algunos Debian/Arch Linux (comentados a continuación, gracias, hendry) no tienen la flushoconfiguración (y no veo nada más apropiado en la página de manual). La echoconfiguración funciona en Ubuntu de todos modos.

información relacionada