|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: May 2001
Città: Roma
Messaggi: 69
|
Help me su una funzione
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
__________________
Powered by: Core i7 3770K, Dissi Noctua NH-D14, Motherboard Msi Z77-GD65, Memory 4 Gb x 2 G-Skill Ares 1866Mhz, PSU Corsair GS800, SSD 128 Gb Samsung 840 Pro + HDD 1 Tb WD Black, Case Cooler Master Haf X + Lamptron Fc Touch |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: May 2001
Città: Roma
Messaggi: 69
|
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
__________________
Powered by: Core i7 3770K, Dissi Noctua NH-D14, Motherboard Msi Z77-GD65, Memory 4 Gb x 2 G-Skill Ares 1866Mhz, PSU Corsair GS800, SSD 128 Gb Samsung 840 Pro + HDD 1 Tb WD Black, Case Cooler Master Haf X + Lamptron Fc Touch |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:20.


















