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

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

Re: [shell-script] ER para validar IP


From: Wagner Brasileiro
Subject: Re: [shell-script] ER para validar IP
Date: Fri, 11 May 2007 17:52:26 -0300 (ART)

Obrigado Michel!!

Achei aquele código que vc falou, já havia procurado e não tinha encontrado, 
como comentou dei mais uma olhada e achei, o engraçado é que ele sita validação 
de IP nos dois guias de consultas rápidas dele mas não mostra propriamente dito.

Fiquei meio decepcionado com o exemplo que ele deu do intervalo [0-255], fez 
parecer que eu estava me matando à toa, mas testei e infelizmente não 
funciona!!!

Meu código final ficou assim:

=======================

#!/bin/bash

if test $# -gt 1
  then
  echo "$0:Só testo um número IP por vez! Tente novamente"
  else
  if test $# -lt 1
    then
    echo "$0:Precisa passar pelo menos um número IP. Tente novamente!"
    else
    if  echo "."$1"."|egrep 
'\.(2[0-5][0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])(\.(2[0-5][0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){2}\.(2[0-5][0-4]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])\.'
      then
      echo "$0: $1 é um IP válido!!!"
      else
      echo "$0: $1 Não é um IP válido"
    fi

  fi
fi
======================

Sei que tem marretadas como os delimitadores "." que eu tive que incluir no 
parâmetro que recebo da linha de comando, mas não via outra maneira por hora, 
se alguém achar alguma falha, ou alguma otimização será bem vinda. 
Abraço,

Wagner Brasileiro

"Michel I. Moreira" <address@hidden> escreveu:                                  
Bom dia Wagner,
 
 Nosso amigo Aurelio em seu site tem um exemplo de como fazer isso.
 
 De uma olhada lá.
 
 www.aurelio.net
 
 [ ]'s
 
 :qw =)
 
 Wagner Brasileiro escreveu:
 
 > Bom dia,
 >
 > Estou quebranco a cabeça, arrancando meus cabelos para criar uma ER 
 > que valide um IP sem contar suas máscaras. Já estava quase terminando 
 > quando me passou pela cabeça testar se colocasse algo além do previsto 
 > se ela deixava pasar, e passou, ou seja:
 >
 > variavel=999
 > echo $variavel|egrep '([0-5]){3}' ele barra, se variavel=555 ele 
 > aceita, porém se variavel=5559 por exemplo ele também aceita e notei 
 > que aí que minha ER stava furada. Claro que amarrei cuidadosamente os 
 > limites de uma faixa IP só usei esse exemplo para ilustrar de manera 
 > rápida meu problema, que na realidade é aceitar apenas a cadeia e mais 
 > nada além dela ao contrário do que eu pensava, os limitadors não 
 > funcionam assim, a ER casa com qualquer outra coisa que atenda 
 > basicamente a 3 números até cinco cada, desde que tenha esta string 
 > dentro. Minha pergunta: Meu erro está na ERR ou na instrução de 
 > verificação? Como posso fazer esse limite?
 >
 > Se alguém tiver uma ER dessas prontas eu aceito, o resto do Script eu 
 > já fiz, não achei necessário mandá-lo pois não era o foco, mas 
 > gostaria mesmo assim de uma explicação no que estou errando, pois até 
 > onde eu verifiquei cada bloco isolado da ER completa para validar 
 > todas as seqüências válidas de um IP, elas funcionavam, mas quando as 
 > juntava num "OU" devido a esse problema elas terminavama aceitando 
 > muitas outras coisas. Foquei-me apenas no octeto 254, verificar pra 
 > que a ER fizesse todos os teste possíveis para aceitar qq número nesse 
 > intervalo ou somente dois algarismos ou apenas um incluindo zero.
 >
 > __________________________________________________
 > Fale com seus amigos de graça com o novo Yahoo! Messenger
 > http://br.messenger.yahoo.com/ <http://br.messenger.yahoo.com/>
 >
 > [As partes desta mensagem que não continham texto foram removidas]
 >
 >  
 
 
     
                       

 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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