[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"