É por isso que o wget usa stderr em algumas das suas saídas. O segundo deve funcionar.
theotherreceive
2
Aliás, convém salvar essa saída do wget em um arquivo de log; portanto, quando / se o download parar de funcionar, você poderá descobrir o motivo. Se estiver em um script de qualquer maneira. Se este é um one-off tipo run, então sim, para o lixo
Matt Simmons
1
Pois wgetvocê pode usar as -qopções para silenciá-lo.
Pkhamre 30/03/12
Alguma maneira de suprimir a saída gravada diretamente em / dev / tty?
d11wtq
30
Existem três dispositivos de E / S disponíveis na linha de comando.
standard in - 0
standard out - 1
standard error - 2
Para redirecionar a saída padrão (a saída padrão) para um arquivo (e substituí-lo), use
command > file.log
Para anexar a file.log, use 2> s
command >> file.log
para redirecionar o erro padrão para o arquivo.log, use
command 2> file.log
e acrescentar
command 2>> file.log
Para combinar as saídas em um fluxo e enviá-las para um único local
command > file.log 2>&1
Isso envia 2 (stderr) para 1 (stdout) e envia stdout para file.log
Observe que também é possível redirecionar o padrão para um comando que espera stdin
Alguém pode explicar como command > file.log 2>&1funciona?
Cory Klein
Quão baixo de nível você gostaria de saber?
Matt Simmons
3
@nomoreink: na verdade são 2 comandos, um é > filee o segundo é 2>&1. O primeiro redireciona o padrão para um arquivo. O segundo pega o segundo descritor de arquivo e o redireciona para o primeiro. Você pode fazer o inverso, redirecionar a saída padrão para erro padrão usando >&2e depois redirecionar o erro padrão para um arquivo com 2> file.
Hubert Kario
12
ocultar stdout
./command >/dev/null
Ocultar stdoutestderr
./command >/dev/null 2>&1
Ocultar stdoute stderrliberar terminal (execute o comando em segundo plano)
Isto irá redirecionar a saída para um arquivo chamado nulo
theotherreceive
Gerou um arquivo nulo
Jader Dias
1
você não teria significado / dev / null, não é?
Babu
1
Sim, eu teria, Babu. Eu quis dizer $ command &> / dev / null. Minhas desculpas por digitar rápido demais para o meu próprio bem.
Lucho
2
Para Mac OS X (10.6 "Snow Leopard"):
Se você precisar ocultar a saída sem avisar o programa, verificando o descritor do arquivo de saída / erro, tente usar o seguinte em um shell:
stty flusho; command ;stty -flusho
ou se você quiser apenas ocultar a entrada do terminal, a propósito:
stty -echo; command ;stty echo
Consulte a página do manual stty (1) para obter mais informações
Para Linux, tudo o que sei é que o Ubunutu (10.04 "Lucid") e alguns "Debian / Arch" (comentados abaixo - tnx hendry) não têm a flushoconfiguração (e não vejo nada mais apropriado na página de manual) . A echoconfiguração funciona no Ubuntu de qualquer maneira.
Respostas:
Você pode redirecionar a saída de qualquer programa para que não seja vista.
Isso redirecionará a saída padrão - você ainda verá erros
Isso redirecionará toda a saída, incluindo erros.
fonte
wget
você pode usar as-q
opções para silenciá-lo.Existem três dispositivos de E / S disponíveis na linha de comando.
Para redirecionar a saída padrão (a saída padrão) para um arquivo (e substituí-lo), use
Para anexar a file.log, use 2> s
para redirecionar o erro padrão para o arquivo.log, use
e acrescentar
Para combinar as saídas em um fluxo e enviá-las para um único local
Isso envia 2 (stderr) para 1 (stdout) e envia stdout para file.log
Observe que também é possível redirecionar o padrão para um comando que espera stdin
EDITAR
Para obter mais detalhes, consulte o Advanced Bash Scripting Guide
fonte
command > file.log 2>&1
funciona?> file
e o segundo é2>&1
. O primeiro redireciona o padrão para um arquivo. O segundo pega o segundo descritor de arquivo e o redireciona para o primeiro. Você pode fazer o inverso, redirecionar a saída padrão para erro padrão usando>&2
e depois redirecionar o erro padrão para um arquivo com2> file
.ocultar
stdout
Ocultar
stdout
estderr
Ocultar
stdout
estderr
liberar terminal (execute o comando em segundo plano)fonte
Se você deseja apenas ocultar a saída (e não salvá-la em um arquivo), você pode usar:
Editado:
$ comando &> / dev / null
fonte
Para Mac OS X (10.6 "Snow Leopard"):
Se você precisar ocultar a saída sem avisar o programa, verificando o descritor do arquivo de saída / erro, tente usar o seguinte em um shell:
ou se você quiser apenas ocultar a entrada do terminal, a propósito:
Consulte a página do manual stty (1) para obter mais informações
Para Linux, tudo o que sei é que o Ubunutu (10.04 "Lucid") e alguns "Debian / Arch" (comentados abaixo - tnx hendry) não têm a
flusho
configuração (e não vejo nada mais apropriado na página de manual) . Aecho
configuração funciona no Ubuntu de qualquer maneira.fonte