GNU/Linux >> Tutoriales Linux >  >> Linux

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

Solución 1:

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

$ program > /dev/null

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

$ program &> /dev/null

Esto redirigirá toda la salida, incluidos los errores.

Solución 2:

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

 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), utilice

 command > file.log

Para agregar a file.log, use dos > s

 command >> file.log

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

 command 2> file.log

Y para anexar

 command 2>> file.log

Para combinar las salidas en una transmisión 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 obtener más detalles, consulte la Guía avanzada de secuencias de comandos de Bash.

Solución 3:

Ocultar salida estándar:

./command >/dev/null

Ocultar salida estándar y error estándar:

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

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

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

Solución 4:

Si solo desea ocultar la salida (y no guardarla en un archivo), puede usar:

Editado:

$ comando &> /dev/null

Solución 5:

Para Mac OS X v10.6 (Snow Leopard):

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 solo desea ocultar la entrada del terminal por cierto:

stty  -echo; command ;stty  echo

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

Para Linux, todo lo que sé es que Ubuntu 10.04 (Lucid Lynx) y algunos Debian/Arch Linux (comentado a continuación, gracias, hendry) no tienen el flusho configuración (y no puedo ver nada más apropiado en la página de manual). El echo la configuración funciona en Ubuntu de todos modos.


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

  2. ¿Cómo encontrar la aplicación para un tipo Mime en Linux?

  3. ¿Cómo puedo aleatorizar las líneas en un archivo usando herramientas estándar en Red Hat Linux?

  4. ¿Cómo puedo hacer una división con variables en un shell de Linux?

  5. ¿Cómo puedo recorrer la salida de un comando de shell?

Cómo instalar Fish, The Friendly Interactive Shell, en Linux

Cómo cambiar el shell predeterminado en el sistema Linux

¿Cómo puedo obtener el estado del teclado en Linux?

¿Cómo puedo hacer que tcpdump escriba en el archivo y genere de forma estándar los datos apropiados?

Python - Supervisor de cómo registrar la salida estándar -

¿Cómo puedo editar $ PATH en Linux?