Gracias socio, me funcionó ok :)
Solo dos detalles jeje, al final pusiste "if valid_ip IP_ADDRESS;", lo
cambié por "if validar_ip $IP_ADDRESS;" porque ya habíamos definido que
la función era validar_ip y no valid_ip, y agregué el $ para variable.
Nada que digo esto por si alguien más sigues este hilo.
Gracias de nuevo socio.
Saludos
El 27/04/11 13:15, Yosle escribió:
Eso se hace con expresiones regulares, supongamos que tengas el valor
almacenado en una variable IP_ADDRESS, seria algo asi como:
function validar_ip()
{
local ip=$1
local stat=1
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9
]{1,3}$ ]]; then
OIFS=$IFS
IFS='.'
ip=($ip)
IFS=$OIFS
[[ ${ip[0]} -le 255&& ${ip[1]} -le 255 \
&& ${ip[2]} -le 255&& ${ip[3]} -le 255 ]]
stat=$?
fi
return $stat
}
# Llamada a la funcion:
valid_ip IP_ADDRESS
if [[ $? -eq 0 ]];
then echo OK;
else echo IP incorrecta; fi
# O , mejor ...
if valid_ip IP_ADDRESS;
then echo OK;
else
echo IP incorrecta; fi
saludos, yosle.
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l