Tambem poderia ser feito assim:

read -p "informe o ip " IP
TP="valido"
[[ "${IP}" =~ "^(10.*|172.(31|16)+.*|192.168.*)$" ]] && TP="privado"
echo "ip '${IP}' eh de tipo '${TP}'"

Em 02/02/06, Emerson Domingues Souto <[EMAIL PROTECTED]> escreveu:
>
>  Olá Daniel,
>
> O método do Tiago é bem claro, e é o q eu escolheria com certeza.
> Mas se vc quiser escrever com ifs, segue a sintaxe:
>
>
> if [ ${IP:0:3} = "10." -o ${IP:0:7} = "172.16." -o ${IP:0:7} = "172.31."
> -o ${IP:0:8} = "192.168." ] ; then
>    echo "ip privado!"
> else
>    echo "ip válido."
> fi
>
> Explicacao:
> a expansão ${IP:0:3} pega as 3 primeiras posicoes da variavel IP e compara
> com "10.",
> a expansao ${IP:0:7} pega as 7 primeiras posicoes da variavel IP e compara
> com "172.16." e assim por diante
>
>
> Att,
> Emerson
>
>   ----- Original Message -----
>   From: Tiago Barcellos Peczenyj
>   To: [email protected]
>   Sent: Thursday, February 02, 2006 3:55 PM
>   Subject: Re: [shell-script] Verificando ip .
>
>
>   Ola,
>
>   Eu gosto de usar o 'case' nessas situações, acho mais sucinto:
>
>    read -p "digite um IP " IP
>    case "${IP}" in
>    10.*|172.16.*|172.31.*|192.168.*)  TYPE=privado ;;
>    *) TYPE=valido ;;
>    esac
>    echo "ip '${IP}' eh '${TYPE}' "
>
>    Funcionou bem pra mim.
>
>   Em 02/02/06, daniel_zi <[EMAIL PROTECTED]> escreveu:
>   >
>   >  Olá pessoal.
>   >
>   > Estou com uma dúvida. Preciso determinar se um endereço de IP digitado
>   > pelo usuário é privado ou válido.
>   >
>   > A idéia é tipo assim:
>   >
>   > IP=192.168.0.1
>   > if [ "$IP" = "10.*" -o "172.16.*" -o "172.31.*"  -o "192.168.*" ] ;
> then
>   > echo ip privado!
>   > else
>   > echo ip válido.
>   > fi
>   >
>   > A senteça assim não funciona.Sei que fiz m***a, mas a idéia é comparar
>   > o IP digitado com os ip privados. O que não sei é fazer o IF entender
>   > que por exemplo, 172.16.* não é 172.16.*, mas sim 172.16.x.x.
>   >
>   > Conseguiram entender ?
>   >
>   > Valeu!
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >
>   >  ---------------------------------------------------------------------
>   > 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
>   >
>   >
>   >
>   >
>   >  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>   >  <
> http://br.ard.yahoo.com/SIG=12fec62mo/M=393477.7870451.8719931.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1138907163/A=3254979/R=0/id=noscript/SIG=12k5j3olb/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE_3
> >
>   > ------------------------------
>   > *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]<
> [EMAIL PROTECTED]>
>   >
>   >    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>   >    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>   >
>   >
>
>
>   --
>   Tiago B Peczenyj
>   Linux User #405772
>
>   echo 435991959574767208964049173891616024402182829083447460457482P | dc
>
>
>   [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
>
>
>
>
>
>
>
>
>
> [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
>
>
>
>
>  *Yahoo! Grupos, um serviço oferecido por:*  PUBLICIDADE
>  
> <http://br.ard.yahoo.com/SIG=12f4rf64g/M=393477.7870451.8719931.2369893/D=brclubs/S=2137111254:HM/Y=BR/EXP=1138931246/A=3254979/R=0/id=noscript/SIG=12k5j3olb/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE_3>
> ------------------------------
> *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]<[EMAIL PROTECTED]>
>
>    - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
>    Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
>
>


--
Tiago B Peczenyj
Linux User #405772

echo 435991959574767208964049173891616024402182829083447460457482P | dc


[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

 


Responder a