Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # bucleForBash02.sh
- # Bucle for, segunda sintaxis en bash
- # Autor: angeldp
- # Script que se encargará de solicitar una dirección IP
- # hasta que se introduzca de forma correcta. Se usará
- # la sintaxis 2 de los bucles for en bash
- # Emplearé una variable de control
- # que será OK cuando la IP esté correctamente escrita
- 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
- # En la variable OCT guardo el contenido
- # del octeto para verificar si se ha indicado
- # 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 si el contenido de la
- # variable CTR2 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
- echo "La IP introducida es correcta"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement