Pular para o conteúdo

Redirecionamento de saída de erro

Dica publicada em Linux / Introdução
Luiz Antonio da Silva Junior JuNiOx
Hits: 27.564 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Redirecionamento de saída de erro

A saída de erro padrão é o monitor de vídeo. Se listarmos um diretório e ele não existir, a mensagem de erro aparecerá na tela:

$ ls programas
ls: programas: No such file or directory

Em alguns casos é interessante transportar as mensagens de erros que ocorrem no sistema para um arquivo, para serem analisados posteriormente.

$ ls programas 2> error
$ cat error

ls: programas: No such file or directory

Observe que a mensagem de erro foi transferida para o arquivo "error". Para que a mensagem de erro seja transferida, você deve informar ao sistema que ela será mandada para um arquivo. Para isso utilizamos o sinal de "2>", visto que ele se refere à saída de erro padrão.

abraços

JuNiOx

Resume em downloads

Timeout para terminais

Funções de diretórios

Trabalhando com cores no Java

Configurando Docking do aMSN

Utilize SD cards no Aspire 5050 (com adaptador ENE Technology Inc) no Ubuntu

Permissões práticas para usuários práticos

Configurando rede no FreeBSD 7.0

Problemas com PATH ao executar comandos com su

[Ubuntu 11.04] Nokia N70 como modem Bluetooth

#1 Comentário enviado por agofearth em 28/11/2013 - 16:49h
Luiz, permita-me contribuir com sua dica, que é muito boa.

Além desse direcionamento de erro também existe um redirecionamento de tudo que o comando gera para tal ao invés de usar 2> deve-se usar o &>. Por exemplo, isso pode ser usado para compor um arquivo de LOG mostrando as etapas de execução do comando para um posterior encaminhamento por email. Exemplo:

#!/bin/bash
ASSUNTO=Asunto do Email"
rar -a arquivo_a_ser_gerado.rar arquivo_original.txt &> | arquivo.log
tr  X < arquivo.log | mail -s "$ASSUNTO" email@de.destino
# o comando tr foi applicado ao caracter  para que o "arquivo.log" ficasse no formato unix e que portanto o log ficasse no corpo o email.
# Trata-se uma solução específica para resolver o problema o log do rar, caso contrário o arquivo ao invés de ir no corpo do e-mail iria como anexo.

Fontes:
http://www.afms.com.br/shell/?page=3
http://forum.mandriva.com/en/viewtopic.php?t=127987

Contribuir com comentário

Entre na sua conta para comentar.