¿Cómo ocultar la salida de pantalla (printf) de una aplicación de shell en Linux?
¿Cómo ocultar la salida de pantalla (printf) de una aplicación de shell en Linux?
Respuestas:
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.
wget
que pueda utilizar las -q
opciones para que sea silencioso.
Hay tres dispositivos IO disponibles en la línea de comandos.
standard in - 0
standard out - 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 adjuntar a file.log, use 2> s
command >> file.log
para redirigir el error estándar al archivo.log, use
command 2> file.log
y anexar
command 2>> file.log
Para combinar las salidas en una secuencia y enviarlas todas a un solo lugar
command > file.log 2>&1
Esto envía 2 (stderr) a 1 (stdout) y envía stdout a file.log
Tenga en cuenta que también es posible redirigir el estándar en un comando que espera stdin
command << file.txt
EDITAR
Para obtener más detalles, consulte la Guía avanzada de secuencias de comandos Bash
command > file.log 2>&1
funciona?
> file
y el segundo es 2>&1
. El primero redirige el estándar a un archivo. El segundo toma el segundo descriptor de archivo y lo redirige al primero. Puede hacer lo contrario, redirigir la salida estándar al error estándar usando >&2
y luego redirigir el error estándar a un archivo con 2> file
.
Si solo desea ocultar la salida (y no guardarla en un archivo), puede usar:
Editado:
$ comando &> / dev / null
Para Mac OS X (10.6 "Snow Leopard"):
Si necesita ocultar la salida sin dejar que el programa lo sepa marcando el descriptor del archivo de salida / error, puede intentar usar lo siguiente en un shell:
stty flusho; command ;stty -flusho
o si solo quieres ocultar la entrada del terminal por cierto:
stty -echo; command ;stty echo
Consulte la página del manual stty (1) para obtener más información.
Para Linux, todo lo que sé es que Ubunutu (10.04 "Lucid") y algunos "Debian / Arch" (comentados a continuación - tnx hendry) no tienen la flusho
configuración (y no puedo ver nada más apropiado en la página del manual) . La echo
configuración funciona en Ubuntu de todos modos.