[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
tratamento de erros dentro de funções
From: |
cleberson |
Subject: |
tratamento de erros dentro de funções |
Date: |
Fri, 13 Jul 2012 14:20:14 -0000 |
User-agent: |
eGroups-EW/0.82 |
Srs.,
Bom dia,
Gostaria de ajuda para solucionar o problema abaixo, em que, a variável "$?"
não funciona dentro de uma função. O exemplo abaixo esta pingando um domínio
que não existe, e retornaria um erro após execução. Mas não é o que acontece.
Quando se executa o ping fora de uma função o retorno do codigo de erro
acontece normalmente.
Desde já agradeço atenção.
att,
Cleberson.
#!/bin/bash
function teste_erro(){
local result_ping=$( ping -q -c 3 -W 5 google.com 2>&1)
if [ "$?" == "0" ]; then
echo OK
else
echo ERROR
fi
}
teste_erro
######################################################
~# bash -x teste.sh
+ teste_erro
++ ping -m 1 -q -c 3 -W 5 google.com
+ local 'result_ping=PING google.com (74.125.234.6) 56(84) bytes of data.
--- google.com ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2001ms'
+ '[' 0 == 0 ']'
+ echo OK
OK
Re: [shell-script] tratamento de erros dentro de funções, Julio C. Neves, 2012/07/14