Como lo mencioné en la nota anterior existen tres formas de inducir un ciclo en Bash, en esa misma nota expliqué cómo hacerlo con un for
por lo que en esta ocasión les platicaré las dos formas restantes: while
y until
.
While
El ciclo while
permite ejecutar un bloque de instrucciones mientras se cumpla la condición. Primero comprueba que en efecto se cumple la condición dada y entonces, ejecuta el segmento de código contenido entre las palabras do
y done
, así sucesivamente hasta que la condición no se cumpla.
Sintaxis
while [ condición ] do //Bloque de instrucciones done
Ejemplo
#!/bin/bash contador=0 termina=10 while [ $termina -ge $contador ] do echo $contador let contador=$contador+1 done
Este ciclo imprime la serie de números del 0 al 10.
Until
El ciclo until
, a diferencia del ciclo while
, permite ejecutar un bloque de instrucciones mientras no se cumpla una condición dada. A diferencia del while
, verifica que la condición sea falsa, entonces ejecuta el segmento de código contenido entre las palabrasdo
y done
, hasta que la condición se cumpla.
Sintaxis
until [ condición ] do //Bloque de instrucciones done
Ejemplo
#!/bin/bash contador=0 termina=10 until [ $termina -lt $contador ] do echo $contador let contador=$contador+1 done
Este ciclo imprime la serie de números del 0 al 10.
Nótese que aunque en esencia este código es muy parecido al ejemplo del while
, existe una diferencia en la condición dada ya que mientras con until
se verifica si la condición es falsa, con while
sucede lo contrario, es decir, que sea verdadera; por lo que en en el ejemplo de while
se utiliza -ge
para comparar si es mayor o igual y en el ejemplo de until
se utiliza -lt
para comparar si es menor que.
Como te habrás dado cuenta, el uso del los ciclos while
y until
en Bash es muy fácil. Dependiendo del problema a resolver conviene utilizar uno u otro.
En la siguiente nota te platicaré sobre el tema Bash: arreglos y aritmética. Hasta entonces.
Muchas gracias por el aporte !
Gracias, por leernos y por tu comentario 😉
Excelente