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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

script ping


From: pablo freitas
Subject: script ping
Date: Tue, 12 Sep 2006 19:40:54 +0000 (GMT)

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]



reply via email to

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