[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Testando variável
From: |
Fábio Batista |
Subject: |
Re: [shell-script] Testando variável |
Date: |
Mon, 18 Apr 2005 17:38:47 -0300 |
echo "$IP" | egrep -q
'^(1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.(1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.(1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.(1?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))$'
&& echo válido || echo INVÁLIDO
Fábio David Batista
address@hidden
http://nerd-o-matic.blogspot.com
On 4/18/05, Alexandre Miraldo <address@hidden> wrote:
>
> PessoALL
>
> Montei um script para testar se uma variável é um IP ou não ...
>
> Se alguém tiver alguma sugestão de melhoria eu agradeço...
>
> Segue abaixo o script :
>
>
>
>
> #!/bin/bash
> ### Testa se uma variável é um IP
> read IP
>
>
> IPNUM=`echo "$IP" |grep -v "[a-zA-Z ,;:@^'$%&*><,?!~]"`
>
> if [ "$IPNUM" != "$IP" ] ; then
> echo "IP Inválido"
> exit
> fi
>
> if [ "${#IP}" -gt "15" ] ; then
> echo "IP Inválido"
> exit
> if [ "${#IP}" -lt "7" ] ; then
> echo "IP Invávildo"
> exit
> fi
> fi
>
> c="0"
>
> for i in `echo $IP |cut -d "." -f 1,2,3,4,5,6,7,8 --output-delimiter " "`
> do
> let c=c+1
> if [ "$c" -gt "4" ]; then
> echo " IP Inválido "
> exit
> fi
> if [ "$i" -gt "254" ]; then
> echo " IP Inválido "
> exit
> fi
> done
>
> echo "A Variavel realmente e um IP "