Excluindo "output errors" nas saídas dos comandos

Publicado por Xerxes em 19/06/2015

[ Hits: 12.634 ]

 


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

"We cannot detect a running copy of GNOME on this system" [Resolvido]

Instalação do Slackware Linux passo-a-passo

Ícone de mostrar área de trabalho no Plank

Entrevista com Patrick Volkerding

Playstation Portátil no Linux Mint/Ubuntu

Leitura recomendada

Vídeo do LinuxTips - Descomplicando o Docker - Parte 2

RMVB para AVI no Linux

Trabalhando com o VI

O gerenciador de pacotes dpkg

Declarando "netbios name" no Samba

  

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