Excluindo "output errors" nas saídas dos comandos

Publicado por Xerxes em 19/06/2015

[ Hits: 12.851 ]

 


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

Jogue Super Meat Boy no GNU/Linux

SpectrWM no Gentoo

Montar dispositivo Android no Funtoo

Baixar e ler mangás grátis no Linux e no Android

Recuperar senha de root do MySQL 8 no Fedora

Leitura recomendada

Visualizando no console os usuários disponíveis para bate-papo no Viva o Linux

Autostart no GNOME

Removendo vários arquivos de uma lista gigante (Argument list too long)

Remover comentários

Como tirar print de sua tela de login, bloqueio, apresentação e área de trabalho (KDE)

  

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