PDA

View Full Version : Help me su una funzione


sbampa
13-05-2016, 09:44
Ciao a tutti,
sto scrivendo uno script che invoca una funzione per il check di correttezza su un indirizzo ip.

Leggo ip da input, e devo validarlo con la funzione is_valid_ip.
Il problema è che non riesco a ciclarlo...inserisco la prima volta ip e termina...mi aiutate a creare un ciclo while che mi ripropone in output di inserire nuovamente l'ip fin quando è corretto?

Grazieeeeee

sbampa
13-05-2016, 11:14
Hai ragione pure tu:
bash script:

is_valid_ipv4() {
local -a octets=( ${1//\./ } )
local RETURNVALUE=0

# return an error if the IP doesn't have exactly 4 octets
[[ ${#octets[@]} -ne 4 ]] && return 1

for octet in ${octets[@]}
do
if [[ ${octet} =~ ^[0-9]{1,3}$ ]]
then # shift number by 8 bits, anything larger than 255 will be > 0
((RETURNVALUE += octet>>8 ))
else # octet wasn't numeric, return error
return 1
fi
done
return ${RETURNVALUE}
}



echo "Please, insert DMZ IP: "
read DMZIP

is_valid_ipv4 ${DMZ}
while [[ $? -gt 0 ]]
do
echo "Invalid IP. Please insert again"
echo "Please, insert DMZ IP: "
read DMZIP
done