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. El Mie, 27 de Abril de 2011, 1:31 pm, KZKG^Gaara escribió: > Hola gente, > Tengo un script en el cual le pido al usuario una dirección IP (Ej. 192.168.40.16), luego con esa IP hago una cierta cantidad de cosas. > > O sea, el usuario introduce la IP que desea y listo, presiona [Enter] (lo que sucede después no lo nota). > > Pero.... ¿y si el usuario pone letras en vez de números? > Ese es mi problema. Desearía que cuando le pida la IP, en caso de que el usuario escriba letras o algo así, que se le muestre un mensaje de error mediante por ejemplo "dialog --msgbox "error"". > > Alguien puede ayudarme en esto? > Ah, hago esto 100% en bash. > > Saludos y gracias por adelantado. > ------------ próxima parte ------------ > Se ha borrado un adjunto en formato HTML... > URL: > <http://listas.jovenclub.cu/pipermail/gutl-l/attachments/20110427/624ab8e3/attachment.htm> ______________________________________________________________________ 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 > -- Ubuntu User number is # 30682 ______________________________________________________________________ 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