Excluindo "output errors" nas saídas dos comandos

Publicado por Xerxes em 19/06/2015

[ Hits: 12.727 ]

 


Excluindo "output errors" nas saídas dos comandos



Ao executar um comando, pode acontecer que, em sua saída, apareçam mensagens de erros que não são de seu interesse. Por exemplo:

grep -R xerxes /etc
grep: /etc/polkit-1/rules.d: Permissão negada
/etc/passwd:xerxes:x:1000:100::/home/xerxes:/bin/bash
grep: /etc/sudoers: Permissão negada
grep: /etc/securetty: Permissão negada
/etc/group:lp::7:lp,xerxes
/etc/group:wheel::10:root,xerxes
/etc/group:audio::18:xerxes
/etc/group:cdrom::19:xerxes
/etc/group:video::27:root,xerxes
/etc/group:lpadmin:x:106:xerxes
/etc/group:games:x:35:xerxes
/etc/group:vboxusers:x:104:xerxes
/etc/group:vboxguest:x:1000:xerxes
/etc/group:printadmin:x:1002:xerxes


Para eliminar tais mensagens podemos fazer assim. Exemplo:

grep -R xerxes /etc 2>/dev/null
/etc/passwd:xerxes:x:1000:100::/home/xerxes:/bin/bash
/etc/group:lp::7:lp,xerxes
/etc/group:wheel::10:root,xerxes
/etc/group:audio::18:xerxes
/etc/group:cdrom::19:xerxes
/etc/group:video::27:root,xerxes
/etc/group:lpadmin:x:106:xerxes
/etc/group:games:x:35:xerxes
/etc/group:vboxusers:x:104:xerxes
/etc/group:vboxguest:x:1000:xerxes
/etc/group:printadmin:x:1002:xerxes


Não apareceram as mensagens de erro. No caso, as linhas de "permissão negada".

Como isso acontece?

No interpretador de comandos, o 0 (zero) significa entrada (aquilo que você digita), o 1 significa saída padrão (resposta do comando) e o 2 significa mensagens de erro.

O uso do "2>/dev/null" significa que estamos enviando as mensagens de erro (2) para o /dev/null, que é um arquivo especial do sistema que descarta informações.

Fica a dica!

Fontes:
Outras dicas deste autor

Simples Pós-instalação do Void Linux com i3

Abrir Janelas no Centro da Tela no KDE Plasma

Cinnamon no Ubuntu 14.04 LTS

Atalhos Touchpad no KDE (Slackware)

Conflitos de multilib no Funtoo [Resolvido]

Leitura recomendada

Descubra quem é o dono do IP através de um comando shell

Teclado ABNT2 pelo Terminal

Modificando o seu localtime

wget - Comando para baixar imagens sequenciais de uma página

Baixando arquivos utilizando o wget

  

Comentários
[1] Comentário enviado por tiekookeit em 24/06/2015 - 08:14h

Você pode conectar a saída de erro a saída padrão caso queira ver qual o erro está acontecendo.

(comando 2>&1) >/var/log/comando.log

Desta forma você joga no arquivo não só a saída padrão como a saída de erro, muito útil no acompanhamento de erro de tarefas agendadas.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts