shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Veificação


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Veificação
Date: Tue, 13 May 2008 17:53:16 -0300

Complementando:

A execução de um programa falhou geralmente em dois casos.

1) o programa retornou um valor diferente de 0 como exit code (vc
verifica isso pela variavel $? setada após o programa ou pelo vetor
PIPESTATUS no caso de varios processos encadeados com pipes)

2) ele não fez o que deveria (não gerou um arquivo, não atualizou
algo, enviou mensagem de erro para a stderr....)

No primeiro caso é simples

comando && echo ok || echo nok

nesse caso podemos ver um ok se o comando retornar 0

O segundo é mais complexo e vc deve fazer algumas verificações (se
existe arquivo, se imprimiu tal mensagem, etc).

ex:

$ comando
Erro: 753479583475934

Humm... isso é na stderr

$ comando 2> mensagem.err
$ cat mensagem.err
Erro: 753479583475934

$ grep -iq erro mensagem.err && echo "deu erro!" || echo "parece q foi sucesso"

Vc deve estudar o caso, quanto mais estudar mais facil será definir
esses pontos. Nem sempre é obvio ou claro quando um programa
"falhou",até pq isso é o seu julgamento.

Um exemplo claro é fazer um download de um programa e o mesmo esta
corrompido no servidor. O download foi perfeito mas o MD5SUM não bate.

2008/5/13 MrBiTS <address@hidden>:
>
>
>
>
>
>
> -----BEGIN PGP SIGNED MESSAGE-----
>  Hash: SHA1
>
>
>  | Boa tarde galera, preciso fazer o seguinte me bash script:
>  | tenho um script que atualiza a blacklist do meu dansguardian, eu
>  alteri ele
>  | para enviar email até ae beleza, porém
>  | caso der erro ele envia o email de sucesso, gostaria de fazer uma
>  | verificação no meu bash para que caso a atualização tivesse falha
>  | ele me encaminha o email. Alguém ae tem uma idéia?
>
>  Seu e-mail está bem confuso, sem pontuações, pausas, e não dá nenhum
>  ponto de partida, nem sequer o comando que "atualiza a blacklist do seu
>  dansguardian". Depois, se uma ação gera um erro, como ela pode enviar um
>  e-mail de sucesso ?
>
>  Bash é um shell ( interpretador de comandos ). Você quer fazer uma
>  verificação no seu script.
>
>  Feita a tradução você deve verificar se o script que atualiza a
>  blacklist contém tratamentos de erro e/ou códigos de saída. Se possuir
>  tratamento de erros, veja onde está a porção de código e, na condição de
>  um erro, escreva seu código de envio de e-mail lá.
>
>  -----BEGIN PGP SIGNATURE-----
>  Version: GnuPG v1.4.5 (Cygwin)
>  Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
>  iD8DBQFIKfgFrDdxWm3R8YYRArelAJ9T1SdJ1SUnpeWkt3LR4JFWvb141QCeKhFD
>  zeOMIOXUz9I93pYBy0ojdqk=
>  =1/pi
>  -----END PGP SIGNATURE-----
>  



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"


reply via email to

[Prev in Thread] Current Thread [Next in Thread]