bash – redirecionamento de mensagens

Fonte: Dicas-L

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 22 de maio de 2018

As saídas geradas por um programa podem se enquadrar em três categorias:
  • Entrada padrão (Standard input ou stdin): estes são os dados que o programa irá processar;
  • Saída padrão (Standard output ou stdout): o resultado da execução do programa;
  • Erros (Standard Error ou stderr): erros gerados durante a execução do programa.
Por definição, os erros (stderr) e a saída gerada pelo programa (stdout) são enviados para a tela do computador.
Nós podemos direcionar as saídas geradas pelo computador (stdout e stderr) para diferentes arquivos.
  • 2>: redireciona as mensagens de erro para um arquivo. stderr é identificado pelo número 2.
    find /proc 2> erros.log
  • &>: Redirecionamento para arquivo tanto da saída padrão quando dos erros:
    find /proc &> saida_e_erros.log
A saída padrão, identificada pelo número 1 é o default, podemos ou não especificar:
find /proc > saida.log
ou
find /proc 1> saida.log
Veja só, o diretório /proc contém arquivos que usuários comuns não podem visualizar. O comando find /proc &> saida_e_erros.log gerará mensagens de erro intercaladas com mensagens normais:
$ find /proc &> saida_e_erros.log /proc/tty/ldisc /proc/tty/driver find: `/proc/tty/driver’: Permission denied /proc/tty/ldiscs
Podemos ainda direcionar a saída padrão para um arquivo e os erros para um outro arquivo:
$ find /proc 1> saida.log 2> erros.log
Resumo
Comando
Descrição
comando 2>filename
Redireciona os erros para arquivo.err
comando > saida.txt
Redireciona a saída padrão para saida.txt
comando &> saida_e_erros.log
Redireciona a saída padrão e os erros para o mesmo arquivo (saida_e_erros.log)
comando 2>&- saida.log
Suprime a exibição de mensagens de erro. Útil quando as mensagens de erro não nos interessam
comando 2>&1 saida.log
Envia todas as mensagens de erro para a tela e a saída do comando para o arquivo saida.log. Útil em shell scripts quando precisamos enviar os erros para a tela

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s