
¿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 flusho
configuración (y no veo nada más apropiado en la página de manual). La echo
configuración funciona en Ubuntu de todos modos.