[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] express�o no case
From: |
moysespr |
Subject: |
Re: [shell-script] expressão no case |
Date: |
Sat, 18 Oct 2003 15:25:10 -0700 (PDT) |
Oi, provavelmente não estou respondendo do jeito que você queria, mas
como imagino a finalidade ser realmente enquadar um ip, tomo a
liberdade de apresentar uma idéia.
linha de chamada:
ipok 255.54.256.25 1.0.0.0 255.255.255.255;echo '$?='$?
1 nome do script
2 ip a testar
3 limite inferior (se fixo pode embutir no script)
4 limite superior (idem)
5 status do return
--------------
#ipok(){
ip_=''
for z in 1 2 3 4;do
if [ `echo $1|cut -d. -f$z` -ge `echo $2|cut -d. -f$z` -a \
`echo $1|cut -d. -f$z` -le `echo $3|cut -d. -f$z` ];then
ip_=$ip_\v
else
ip_=$ip_\f
fi
done
echo $ip_ # comentar depois
[ $ip_ == "vvvv" ]&&exit 0
exit 1
#}
------------
Se fizer com uma função, eu acho bem mais interessante, troque os
exit por return. Acho que eu trocaria o status por um echo v se ok e
nenhum eco se "nao ok". Daà para usar bastaria:
[ "`ipok`" ]&&{ echo ip ok;echo demais comandos;}
É isso!
--- Pablo Fernandes <address@hidden> wrote:
> Amigos,
> Gostaria de saber como usar os metacaracteres com o
> programa case.
> Ex:
> case $1 in
>
([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){2}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])
> ) echo "É um ip"
> ;;
> *) echo "Não é ip"
> ;;
> esac
>
> Essa é uma ER para pegar endereço IP (máximo de
> 255.255.255.255 e minimo de 1.0.0.0
> Eu queria saber que metacaracteres eu precisaria
> escapar e como faria para ficar mais legÃvel (como
> fica a estrutura dentro do arquivo (organização)).
> Também queria saber como o shell vai saber a hora do )
> que o case usa antes do bloco de comandos.
>
> Obrigado
> [ ]'s
> Pablo Fernandes
>
> Yahoo! Mail - o melhor webmail do Brasil
> http://mail.yahoo.com.br
>
__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com