Estructuras WHILE y UNTIL¶
While¶
WHILE
while [ CONDICIÓN ]
do
ACCIONES
done
-
El bucle while se repite mientras la condición sea verdadera.
-
Es posible realizar bucles infinitos que están siempre ejecutándose, por ejemplo haciendo uso de la sentencia “true”, la cual siempre hace que la comprobación sea verdadera.
BUCLE INFINITO
while [ true ]
do
echo "BUCLE INFINITO"
done
- Importante el espacio entre los corchetes y el uso de “do” y “done” para crear la estructura.
Ejemplo 1. Repite hasta que el usuario meta un numero entre 1 y 10¶
read -p "Elige un numero entre 1 y 10" numero
while [ $num -lt 1 && $num -gt 10 ]
do
read -p "Elige un numero entre 1 y 10" numero
done
Ejemplo 2. Repite hasta que introduzca un usuario válido en el sistema.¶
read -p "Introduce un usuario: " usuario
grep -qw $usuario /etc/passwd
while [ $? -ne 0 ]
do
read -p "Introduce un usuario: " usuario
grep -qw $usuario /etc/passwd
done
Until¶
-
Muy parecido a la estructura while.
-
Se ejecuta mientras la condición sea falsa.
-
Sería equivalente a “Hasta que no sea cierto XXXX sigue realizando las tareas del bucle”.
Ejemplo. No termina hasta que a tenga el valor de 10.¶
a=0
until [ $a -eq 10 ]
do
let "a=$a+1"
echo $a
done