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

Reply via email to