[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [shell-script] script ping
From: |
Gabriel Henrique |
Subject: |
RE: [shell-script] script ping |
Date: |
Tue, 12 Sep 2006 18:01:15 -0300 |
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: address@hidden
[mailto:address@hidden] On Behalf Of pablo freitas
Sent: terça-feira, 12 de setembro de 2006 16:41
To: address@hidden
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]
- script ping, pablo freitas, 2006/09/12
- RE: [shell-script] script ping,
Gabriel Henrique <=