Eso es porque wget usa stderr para algunos de sus resultados. El segundo debería funcionar.
theotherrecibido el
2
Por cierto, es posible que desee guardar esa salida de wget en un archivo de registro, por lo que cuando / si su descarga deja de funcionar, puede averiguar por qué. Si está en un guión de todos modos. Si esta es una carrera única, entonces sí, a la basura
Matt Simmons
1
Para wgetque pueda utilizar las -qopciones para que sea silencioso.
pkhamre
¿Alguna forma de suprimir la salida escrita directamente en / dev / tty?
d11wtq
30
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
¿Alguien puede explicar cómo command > file.log 2>&1funciona?
Cory Klein
¿Qué nivel bajo te gustaría saber?
Matt Simmons
3
@nomoreink: en realidad son 2 comandos, uno es > filey 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 >&2y luego redirigir el error estándar a un archivo con 2> file.
Hubert Kario el
12
Esconder stdout
./command >/dev/null
Ocultar stdoutystderr
./command >/dev/null 2>&1
Ocultar stdouty stderrliberar terminal (ejecutar el comando en segundo plano)
Esto redirigirá la salida a un archivo llamado nulo
recibirá el
Se generó un archivo nulo
Jader Dias
1
no habrías querido decir / dev / null, ¿verdad?
Babu
1
Sí, lo habría hecho, Babu. Quise decir $ command &> / dev / null. Mis disculpas por escribir demasiado rápido para mi propio bien.
Lucho
2
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 flushoconfiguración (y no puedo ver nada más apropiado en la página del manual) . La echoconfiguración funciona en Ubuntu de todos modos.
Respuestas:
Puede redirigir la salida de cualquier programa para que no se vea.
Esto redirigirá la salida estándar; aún verá errores
Esto redirigirá toda la salida, incluidos los errores.
fuente
wget
que pueda utilizar las-q
opciones para que sea silencioso.Hay tres dispositivos IO disponibles en la línea de comandos.
Para redirigir la salida estándar (la salida predeterminada) a un archivo (y sobrescribir el archivo), use
Para adjuntar a file.log, use 2> s
para redirigir el error estándar al archivo.log, use
y anexar
Para combinar las salidas en una secuencia y enviarlas todas a un solo lugar
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
EDITAR
Para obtener más detalles, consulte la Guía avanzada de secuencias de comandos Bash
fuente
command > file.log 2>&1
funciona?> file
y el segundo es2>&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 con2> file
.Esconder
stdout
Ocultar
stdout
ystderr
Ocultar
stdout
ystderr
liberar terminal (ejecutar el comando en segundo plano)fuente
Si solo desea ocultar la salida (y no guardarla en un archivo), puede usar:
Editado:
$ comando &> / dev / null
fuente
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:
o si solo quieres ocultar la entrada del terminal por cierto:
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) . Laecho
configuración funciona en Ubuntu de todos modos.fuente