#!/bin/bash # verificaIP.sh # angeldp # Script que se encargará de solicitar una dirección IP hasta que se introduzca # de forma correcta, utilizando un variable de control. Después mediante un # bucle verificaremos que la varible de control sea OK cuando corresponda clear # Primero establecemos el valor determinado de la variable, que será fail. CTR="fail" # Bucle que se encarga de verificar si # la variable de control CTR es igual a OK until [ "$CTR" = "ok" ] do # Creo una nueva variable CTR2 que será OK # y solo se cambiará a fail cuando un octeto # contenga un valor no permitido CTR2="ok" clear echo Indique la nueva IP read NEWIP # Por medio de un bucle for recorreré # los cuatro octetos de la dirección IP for((i=1;i<5;i++)) do # El la variable OCT guardo el contenido # del octeto para verificar si guarda # un valor permitido OCT=`echo $NEWIP | cut -d. -f$i` # Por medio de un IF compruebo si el contenido # de OCT es un número entre 0 y 255; y si no lo es # actualizo la variable de control CTR2 if [ $OCT -lt 0 -o $OCT -gt 255 ] then CTR2="fail" fi done # Al salir del bucle for miro el contenido de la variable CTR2 y si es distinto de fail; si el primer # campo es mayor que 0; y si no existe un campo 5;indico que se ha escrito bien la IP # cambiando la variable CTR C1=`echo $NEWIP | cut -d. -f1` C5=`echo $NEWIP | cut -d. -f5` if [ "$CTR2" != "fail" ] && [ $C1 -ne 0 ] && [ -z $C5 ] then CTR="ok" fi done