Los Bucles, en programación, son uno de los pilares fundamentales en los cuales nos apoyamos a la hora de desarrollar cualquier tipo de aplicación, bien sea una web, una APP para Android o IOS, una aplicación de escritorio etc…
BUCLE WHILE – En el siguiente ejemplo, podemos ver que, mientras la variable $contador sea menor o igual a 15, imprimiremos un mensaje por pantalla. Una vez que la variable tenga el valor 15, el bucle finalizará y el script imprimirá otro mensaje de finalización.
1 2 3 4 5 6 7 8 9 |
#!/bin/bash # Bucle básico While contador=1 while [ $contador -le 15 ] do echo "Este es el mensaje número" $contador ((contador++)) done echo "Bucle finalizado" |
BUCLE UNTIL – En el siguiente ejemplo, la variable $contador se inicializa con un valor de 1. Hasta que la variable $contador no sea superior a 10, la variable $contador se incrementará en +1 hasta que sea superior a 10. El código es el siguiente:
1 2 3 4 5 6 7 8 9 |
#!/bin/bash # Bucle básico Until contador=1 until [ $contador -gt 10 ] do echo "El valor de la variable $contador es: " $contador ((contador++)) done echo "Bucle finalizado. Enhorabuena!" |
BUCLE FOR – n el siguiente ejemplo, vamos a crear una serie de elementos (marchas de coches) que asignaremos a la variable coche y que posteriormente iremos recorriendo uno a uno para mostrar el nombre de cada una de las marcas. Lo que hace el bucle básicamente es, para cada uno de los elementos, hacer N cosas:
1 2 3 4 5 6 7 8 9 |
#!/bin/bash # Bucle básico For coches='Ford Seat Mercedes Fiat Opel' print "El listado de marcas de coches es:" for coche in $coches do echo $coche done echo "Bucle <for> finalizado!" |
BREAK y CONTINUE EN BUCLES – Aunque no son realmente ningún tipo de bucle, break y continue se suelen utilizar dentro de los bucles vistos anteriormente para obligar al bucle a seguir o salirse de la ejecución. En el siguiente ejemplo, $a toma valores entre 0 y 10, pero si a=5, el bucle finalizará:
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash a=0 while [ $a -lt 10 ] do echo "Valor: $a" ((i++)) if [[ "$a" == '5' ]]; then break fi done |
En el siguiente ejemplo, $a toma valores entre 0 y 10, y se mostrará un mensaje solo cuando a sea diferente de 7:
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/bash a=0 while [ $a -lt 10 ] do ((a++)) if [[ "$a" == '7' ]]; then continue fi echo "Valor: $a" done echo 'Finalizado!' |
Gracias por compartir tus conocimientos. Tus articulos me han servido bastante para automatizar tareas repetitivas que realizo en mi trabajo. Saludos.