redireciona a saída do comando para / dev / null

3

Eu corro a seguinte linha do meu script bash para rodar o script /usr/run.pl em máquinas remotas

  xargs -P "$numprocs" -I '{}' -n  1 -- perl -e 'alarm shift; exec @ARGV' -- "$timeout" ssh -nxaq -o ConnectTimeout=5 -o StrictHostKeyChecking=no '{}' /usr/run.sh < <(echo -e "$node") 

mas eu entro no console a seguinte saída padrão

Connection to 143.6.22.4 closed by remote host.
 xargs: perl: exited with status 255; aborting

em que preciso colocar o 1 > / dev / null na minha sintaxe para evitar essa mensagem?

    
por yael 29.06.2016 / 20:48

2 respostas

4

Existem dois fluxos de saída de um processo que geralmente são enviados para o terminal: saída padrão (que é vinculada ao descritor de arquivo 1) e erro padrão (que é vinculado ao descritor de arquivo 2). Isso permite uma captura facilmente separada da saída esperada e mensagens de erro ou outras informações de diagnóstico que geralmente não são esperadas como saída.

Quando você usa o redirecionamento ( > ), isso somente expulsa a saída padrão para o arquivo ou local especificado, deixando o erro padrão intocado. Isso permite que você veja se há erros (como aqueles que você está vendo).

Se você quiser enviar todas as saídas, incluindo o erro padrão, será necessário redirecionar os dois fluxos:

/path/to/program arg1 arg2 > /dev/null 2>&1

Ou, como alternativa, mas mais explicitamente:

/path/to/program arg1 arg2 > /dev/null 2> /dev/null

A sintaxe 2>&1 significa "Enviar saída atualmente indo para o descritor de arquivo 2 para o mesmo local que a saída que vai para o descritor de arquivo 1 irá". > está omitindo o padrão de FD1, então é semanticamente o mesmo que 1> , o que pode fazer com que 2> faça mais sentido.

    
por 29.06.2016 / 21:47
-1

Se você não quiser mostrar logs do console / terminal do bash, use o seguinte comando por exemplo eu inicio servidor php que gera logs de requisição / resposta que eu não quero, eu faço com esse comando:

php -S localhost:8989 &> /dev/null
    
por 08.12.2017 / 08:53