Veja esse exemplo: $ ping -c 1 200.204.0.10 >&- echo $? 1
Vc pode utilizar o resultado de $? assim: $ ping -c 1 200.204.0.10 >&- && echo "funciona" || echo "nao funciona" nao funciona ou sua versão em if/then if ping -c 1 200.204.0.10 >&- ; then echo "funciona" else echo "nao funciona" fi On 11/29/07, bossonaroesao06 <[EMAIL PROTECTED]> wrote: > > Como seria melhor fazer esse teste entao Flavio? > Toda ajuda eh bem vinda! > Obrigado > > --- Em [email protected] <shell-script%40yahoogrupos.com.br>, > "Flavio Junior" <[EMAIL PROTECTED]> > escreveu > > > > Coloque o "$respA" entre aspas.. > > > > Mas há formas melhor de fazer esse teste, usando o return code.. > > Veja o $? > > > > > > Flavio do Carmo Junior > > > > On Nov 29, 2007 1:20 PM, bossonaroesao06 <[EMAIL PROTECTED]> > wrote: > > > > > > > > > > > > > > > > > > > > > Sou iniciante e, shell e to fazendo um script que verifica se > minha > > > internet ta pingando e escreve isso em um arquivo de log. > > > Aparentemente ta correto mas encontrei o seguinte erro ao > executar: > > > > > > [EMAIL PROTECTED] ~]# ./teste.sh > > > ./teste.sh: line 4: [: too many arguments > > > > > > Olha o script: > > > #!/bin/bash > > > respA=$(ping -c 1 200.204.0.10 | grep "1 received") > > > dt=$(date) > > > if [ -z $respA ] > > > then > > > echo "nao esta respondendo em : $dt" >> /root/log.txt > > > else > > > echo "esta respondendo em : $dt" >> /root/log.txt > > > fi > > > exit > > > > > > Por que deu esse erro na linha do IF? > > > Obrigado > > > > > > > > > > > -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/ "what does not kill us makes us stronger" [As partes desta mensagem que não continham texto foram removidas]
