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

[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


reply via email to

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