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

[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




reply via email to

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