Hola a todos, hoy os voy a enseñar como funcionan las estructuras repetitivas en shellscript.
Las estructuras repetitivas son fundamentales en el mundo de la programación y en shellscript no podría ser menos.
Se utilizan para ejecutar acciones x veces.
For
Esta estructura repetitiva es de las más usadas en shellscript.
Tenemos varias formas de implementar esta estructura repetitiva.
La más común es el de for in donde ponemos una variable y en el in algo que recorrer como un array o varias opciones.
Vamos a recorrer de 1 a 10, lo podemos hacer con el comando seq donde le podemos poner un inicio y fin.
#!/bin/bash for i in `seq 1 10` do echo $i done
Este es el resultado:
También podemos recorrer cadenas:
#!/bin/bash for i in "¡" "Hola" "mundo" "!" do echo $i done
Este es el resultado:
Para recorrer un array lo haríamos así:
#!/bin/bash array=("¡" "Hola" "mundo" "!") for i in "${array[@]}" do echo $i done
También lo podemos hacer como en otros lenguajes de programación.
#!/bin/bash for ((i=1;i<=10;i++)) { echo $i }
Este es el resultado:
While
Esta estructura repetitiva se ejecuta mientras que la condición dada es verdadera. Es importante que actualicemos el valor de la variable para que no se quede en un bucle infinito.
#!/bin/bash i=1 while [ $i -le 10 ] do echo $i i=$((i+1)) done
Este es el resultado:
Recordemos el tema de los operadores en shellscript.
Operador | Símbolo |
---|---|
-gt | > (mayor que) |
-ge | >= (mayor o igual que) |
-lt | < (menor que) |
-le | <= (menor o igual que) |
-eq | = (igual) |
-ne | != (distinto) |
Until
Esta estructura repetitiva es igual que la anterior, pero con la diferencia de que se ejecuta mientras la condición no sea verdadera.
#!/bin/bash i=1 until [ $i -gt 10 ] do echo $i i=$((i+1)) done
Este es el resultado:
Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.
Deja una respuesta