BLOQUEAR READ. [RESOLVIDO]

1. BLOQUEAR READ. [RESOLVIDO]

Linx Debian
linxdb

(usa Debian)

Enviado em 02/08/2011 - 16:26h

Boa tarde...estou começando no linux e tenho uma dúvida.
Estou tentando fazer um verificador de IP e resolvi separar o IP em 4 grupos de 3 digitos.
Mas queria que o usuário conseguisse somente digitar os 3 digitos e não mais e nem menos.

fiz de seguinte maneira...

#!/bin/bash

#PRIMEIRO GRUPO

echo "Digite o primeiro grupo de 3 digitos do IP:"
read ip

while test "$ip" -lt "0" || test "$ip" -gt "255"
do
echo "Ip Inválido"
echo "Digite o primeiro grupo de 3 digitos do IP:"
read ip
done

#SEGUNDO GRUPO

echo "Digite o segundo grupo de 3 digitos do IP:"
read ip1

while test "$ip1" -lt "0" || test "$ip1" -gt "255"
do
echo "Ip Inválido"
echo "Digite o segundo grupo de 3 digitos do IP:"
read ip1
done

#TERCEIRO GRUPO

echo "Digite o terceiro grupo de 3 digitos do IP:"
read ip2

while test "$ip2" -lt "0" || test "$ip2" -gt "255"
do
echo "Ip Inválido"
echo "Digite o terceiro grupo de 3 digitos do IP:"
read ip2
done

#QUARTO GRUPO

echo "Digite o quarto grupo de 3 digitos do IP:"
read ip3

while test "$ip3" -lt "0" || test "$ip3" -gt "255"
do
echo "Ip Inválido"
echo "Digite o quarto grupo de 3 digitos do IP:"
read ip3
done
echo "$ip"".""$ip1"".""$ip2"".""$ip3">> /etc/ips.txt
echo "O IP:" "$ip"".""$ip1"".""$ip2"".""$ip3" "foi adicionado a lista."

Funciona parcialmete... se vc por exemplo digitar 001.002 no primeiro grupo ele da erro mas não cancela o script...
alguém poderia me ajudar...ou talvez me sugerir um método mais fácil ou mais efetivo...
GRATO



  


2. Re: BLOQUEAR READ. [RESOLVIDO]

Marcos Paulo Ferreira
daemonio

(usa Slackware)

Enviado em 02/08/2011 - 16:40h

O read tem a opção -n:

$ read -n 3 ip1

Quando você digitar 3 caracteres ele irá retornar.

Como você disse que está começando agora, o seu script está ótimo, mas acho
que a maneira ideal é usar expressões regulares.

Veja esse script do SMarcell que valida IPv4 usando expressões regulares:

http://www.vivaolinux.com.br/script/bash-funcao-para-validacao-de-IP-%28IPv4%29

Abraços,
t+







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts