Excluindo "output errors" nas saídas dos comandos

Publicado por Xerxes em 19/06/2015

[ Hits: 11.738 ]

 


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

Instalar MS Paint no Linux

Mais de 1 Conky ao mesmo tempo

Simples pós-instalação do Debian 9 (Strech)

Kernel Debian no Funtoo

SimpleScreenRecorder no Debian Wheezy

Leitura recomendada

Preparando a VM para virtualização do Mac OSX no VirtualBox

Planilha para facilitar definição de máscara no chmod

Listando arquivos que contém determinado padrão recursivamente dentro de um diretório

Verificando os usuários que se logaram na sua máquina

Detectando conflitos de IP

  

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