Sempre redirecione o erro para / dev / null


22

Eu sei que posso redirecionar as mensagens de erro de um comando para /dev/nullusar a seguinte sintaxe:

command arg1 arg2 2>/dev/null

Mas existe uma maneira de fazer isso por padrão, para que as mensagens de erro sempre sejam enviadas /dev/null, a menos que eu especifique o contrário?


1
Resumindo: sim - redirecione / dev / stderr para / dev / null. Mas, se você não consegue descobrir por conta própria, não deve tentar, pois é mais provável que você quebre algo fatalmente do que tenha sucesso.
Benubird 13/05

@Benubird stderr! = / Dev / stderr. Redirecionar esse arquivo não fará nada. O arquivo em / dev / é apenas por conveniência.
Chris Baixo

@ ChrisDown você está certo, / dev / stderr é apenas um link. Ainda assim, muitos processos gravam isso em vez de fd / 2, que você também pode redirecionar. Fica mais complicado a partir daí - por isso deixei um comentário em vez de uma resposta :).
Benubird 14/05

Respostas:


29

Muitos programas enviam saída para o stderr que não é realmente indicativo de erros. Por exemplo, em alguns programas, é usado para exibir informações que, de outra forma, afetariam a saída do programa (que foi projetada para ser canalizada para outro programa). Você pode, no entanto, fazer o seguinte:

exec 2>/dev/null

Eu não recomendaria fazer isso fora de um script.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.