[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] tratamento de erros dentro de funções
From: |
miranda |
Subject: |
Re: [shell-script] tratamento de erros dentro de funções |
Date: |
Fri, 13 Jul 2012 12:58:27 -0300 |
Apenas para não correr o risco de , sem querer , sobrescrever a variavel
$?
On Fri, 2012-07-13 at 08:44 -0700, Enio Onodera wrote:
>
>
> Tbm funciona... mas pra q jogar o parâmetro em uma variável antes de
> testar? Acho q só aumentariam as linhas, não?
>
> Falando em teste e economizar linhas, fica outra sugestão:
>
> #!/bin/bash
>
> function teste_erro(){
> ping -q -c 3 -W 5 google.com 2>&1
> [ "$?" == "0" ] && echo OK || echo ERROR
> }
>
> teste_erro
>
> Abs,
> Enio Onodera
>
> ________________________________
> De: miranda <address@hidden>
> Para: address@hidden
> Enviadas: Sexta-feira, 13 de Julho de 2012 12:28
> Assunto: Re: [shell-script] tratamento de erros dentro de funções
>
>
>
> Aqui tb vai dar problema.
> após o ping
> atribua
> rc=$?
> e teste $rc
>
> On Fri, 2012-07-13 at 08:18 -0700, Enio Onodera wrote:
>
> >
> >
> > Acho q assim funciona:
> >
> > #!/bin/bash
> >
> > function teste_erro(){
> > ping -q -c 3 -W 5 google.com 2>&1
> > if [ "$?" == "0" ]; then
> > echo OK
> > else
> > echo ERROR
> > fi
> > }
> >
> > teste_erro
> >
> > Abs,
> > Enio Onodera
> >
> > ________________________________
> > De: Carlos Alberto Teixeira Magalhães <address@hidden>
> > Para: address@hidden
> > Enviadas: Sexta-feira, 13 de Julho de 2012 11:49
> > Assunto: Re: [shell-script] tratamento de erros dentro de funções
> >
> >
> >
> > Bom dia.
> >
> > Acredito que, nestas duas linhas:
> >
> > local result_ping=$( ping -q -c 3 -W 5 google.com 2>&1)
> > if [ "$?" == "0" ]; then
> >
> > Você esteja testando apenas se a atribuição do valor à variável
> > funcionou,
> > e não o resultado do ping.
> >
> > Até mais.
> >
> > Em 13 de julho de 2012 11:20, cleberson <address@hidden>
> > escreveu:
> >
> > > **
> > >
> > >
> > > 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
> > >
> > >
> > >
> >
> > --
> > Carlos Alberto Teixeira Magalhães
> > Analista de Suporte
> > Departamento de Informática - DI
> > Universidade Estadual do Ceará - UECE
> > "A Ciência da Computação nasceu para resolver problemas que não
> > existiriam
> > se não fosse o computador." :P
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
Re: [shell-script] tratamento de erros dentro de funções, Julio C. Neves, 2012/07/14