você está aqui: Home  → Arquivo de Mensagens

bash - redirecionamento da saída de erro (stderr)

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 16 de janeiro de 2017

Quando executamos um comando que afeta diversos arquivos ou objetos no sistema, as mensagens de erro exibidas na tela aparecem misturadas a comandos executados corretamente. É importante que possamos identificar as mensagens de erro prontamente para podermos atuar mais rapidamente e resolver o que estiver incorreto.

Um caso bastante comum é o comando find. Sempre que for encontrado algum diretório no qual não tenhamos permissão de acesso, serão geradas mensagens de erro. Dependendo da amplitude do comando, podemos ter centenas ou mesmo milhares de mensagens de erro. Podemos então, se for o caso, descartar estas mensagens:

  $ find /  -name foo 2> /dev/null

O dispositivo /dev/null é o buraco negro de sistemas *nix, tudo que jogamos nele desaparece.

Podemos também gravar esta saída em um arquivo:

  $ find /  -name foo 2> /tmp/listing.txt

As mensagens no arquivo /tmp/listing.txt são do tipo:

  find: `/lost+found': Permission denied
  find: `/sys/fs/fuse/connections/27': Permission denied
  find: `/sys/kernel/debug': Permission denied

Como eu executei este comando com as permissões de um usuário sem privilégios, eu não tenho acesso às informações de muitos arquivos.

Posso também gravar a saída padrão (stdout) em um arquivo, e a saída de erro (stderr) em um outro arquivo:

  $ find / > /tmp/stdout.txt 2> stderr.txt

Referência: My Favorite bash Tips and Tricks



Veja a relação completa dos artigos de Rubens Queiroz de Almeida

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script