Olá amigo!
Não sei se entendi muito bem sua pergunta, mas creio que o grep resolve o
problema.
Uma sugestão seria trocar o
VAR="$( tail -1 /tmp/ping | cut -d' ' -f2-3 )"
por
VAR="$( grep 100% packet loss /tmp/ping | wc -l )"
Assim $VAR poderá ter os valores 0 (não possui a ocorrência) ou 1 (possui a
ocorrência)
Sendo assim,
if [[ $VAR = 0 ]]
then
echo $target ok
else
echo $target falhou
fi
e pronto!
flw
_____
From: [email protected]
[mailto:[EMAIL PROTECTED] On Behalf Of pablo freitas
Sent: terça-feira, 12 de setembro de 2006 16:41
To: [email protected]
Subject: [shell-script] script ping
Pessoal, estou com uma dúvida para fazer o script para varrer o ip, dando o
comando ping, o meu programa está + ou - assim:
#!/bin/bash
{
rm -rf /tmp/ping
clear
echo 'digite o IP desejado(ex.: 10.13.1.): '; read ip
echo 'digite o inicio do ultimo IP(ex.: 1): '; read inicio
echo 'digite o termino do IP(ex.:250 ): '; read final
for i in $(seq $inicio $final) ; do
target="${ip%\.}.${i}"
ping -c 2 $target > /tmp/ping
VAR="$( tail -1 /tmp/ping | cut -d' ' -f2-3 )"
if test "$VAR" = "pipe 3"
then
echo "$target falhou"
else
echo "$target ok"
fi
done
exit
Eu reparei que alguns itens:
-Quando o IP está fora, ele retorna:
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 999ms
, pipe 3
- IPs não retornam o pipe, ele retorna "100% packet pass", e ele imprime
no "$target ok" (isso é lógico, pq eu fiz o teste para pipe 3):
2 packets transmitted, 0 received, 100% packet loss, time 999ms
- Quando o IP existe na rede, ele retorna "pipe 2"
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 3.461/3.633/3.805/0.172 ms, pipe 2
e eu ja fiz o seguinte teste:
if test "$VAR" = "pipe 2"
then
echo "$target ok"
else
echo "$target falhou"
fi
Só que retorna todos IPs ok. E eu não entendi o pq.
E eu queria saber se alguem conhece algum comando + ou -, assim:
se existir no arquivo a palavra '100% packet loss' ,
imprime falha
então
imprime ok
ou
se retornar pipe 2
imprime ok
então
imprime falha
OBRIGADO!
---------------------------------
Yahoo! Search
Música para ver e ouvir: You're Beautiful, do James Blunt
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html