Excluindo "output errors" nas saídas dos comandos

Publicado por Xerxes em 19/06/2015

[ Hits: 12.891 ]

 


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

Canal do YouTube sobre GNU/Linux

Notificações feias no Lubuntu [Resolvido]

Atualizar driver de vídeo Intel no Slackware

Alterando tema do balão de notificação do Lubuntu

"Loading Linux..." muito demorado? (LILO)

Leitura recomendada

Converter imagem para base64 via shell

Substituição avançada de texto no Vi/Vim

Como copiar arquivos mantendo a estrutura de diretórios e sub-diretórios

lspci - Verificando memória de vídeo

Inicializando o OpenOffice via linha de comando

  

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