inicio

Sep 10, 2013
|

Bash Scripting: Bucles For While Until

En cualquier lenguaje de programación encontramos las estructuras que comúnmente llamamos bucles. Estas nos permiten realizar una operación las veces que sea necesario hasta cumplir una condición. Bash no es menos y podemos utilizar diversos tipos, veámoslos.


FOR

Si conoceis PHP, este for es más parecido al foreach que al for. Es decir, va a iterar sobre un conjunto de elementos. Vamos a escribir un ejemplo:

 
#!/bin/bash
for i in $( ls ); do
    echo item: $i
done


En este ejemplo estamos iterando sobre el resultado de el comando ls que nos listará el directorio actual. En la variable $i se incluye el resultado de la iteración sobre cada uno de los elementos del ls, y entre las instrucciones do y done incluimos lo que haremos en cada una de las vueltas. En este caso un echo de nuestra variable $i.

 

Si quisieramos hacer un for que fuera de 1 a 10 por ejemplo, deberíamos utilizar el comando seq que nos dará una secuencia de números. Veámoslo:

 
#!/bin/bash
for i in `seq 1 10`; do
    echo $i
done


Al ejecutar este comando se ejecutará 10 veces y mostrará la variable $i que irá de 1 a 10. Podéis investigar un poco más sobre el comando seq ya que os permite empezar en un determinado valor o mostrar la secuencia con saltos de 2 en 2 números o los que necesitéis.


WHILE

La estructura while va a ejecutarse mientras la condición que le indiquemos sea verdadera o hasta que invoquemos un break. En el ejemplo siguiente inicializamos un contador a 0 y solo saldremos del bucle cuando este sea mayor que 10. Para ello aumentamos en uno el contador cada vez que damos una vuelta en el bucle.

 

#!/bin/bash 
contador=0
while [  $contador -lt 10 ]; do
     echo valor actual $contador
     let contador=contador+1 
done


UNTIL

Por último veremos la estructura until. En realidad es muy parecida a while, de hecho su uso prácticamente sería cambiar while por until. Y la forma de evaluar la condición es al revés, es decir, se ejecuta mientras sea false la condición.

#!/bin/bash 
contador=20
until [  $contador -lt 10 ]; do
      echo valor actual $contador
      let contador-=1
done


En este ejemplo inicializamos el contador a 20 y lo decreceremos hasta que sea menor que 10.

Recordad que podreis ver estos ejemplos en nuestra cuenta de github en el repositorio de bashscripting https://github.com/3pies/bashscripting

The following two tabs change content below.
Técnico en Administración de Sistemas y Desarrollo de Aplicaciones. Amigo de sus amigos, y una mente inquieta que no puede dejar un ordenador de lado porque necesita programar aplicaciones Android o aplicaciones en general, además de páginas web. Nuestro programador de cabecera y espero que también el vuestro.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies