Como ocultar a saída de tela (printf) de um aplicativo shell no Linux?
Como ocultar a saída de tela (printf) de um aplicativo shell no Linux?
Respostas:
Você pode redirecionar a saída de qualquer programa para que não seja vista.
$ program > /dev/null
Isso redirecionará a saída padrão - você ainda verá erros
$ program &> /dev/null
Isso redirecionará toda a saída, incluindo erros.
wget
você pode usar as -q
opções para silenciá-lo.
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
command << file.txt
EDITAR
Para obter mais detalhes, consulte o Advanced Bash Scripting Guide
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 com 2> file
.
Se você deseja apenas ocultar a saída (e não salvá-la em um arquivo), você pode usar:
Editado:
$ comando &> / dev / null
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 flusho
configuração (e não vejo nada mais apropriado na página de manual) . A echo
configuração funciona no Ubuntu de qualquer maneira.