Podemos usar los bucles repetitivos while (condicional) y for para repetir ciertas porciones de código fuente una determinada cantidad de veces, o hasta que se cumpla la evaluación de una expresión. El funcionamiento es el mismo que en los otros lenguajes de programación.
Veamos un ejemplo con
while:
#!/bin/sh
# Ejemplo bucle while
opcion=100
while [ $opcion != 0 ]
do
echo "opcion= $opcion"
echo -n "ingrese un número [0 para salir]: "
read opcion
done # esto finaliza el ciclo
########- F I N -###########
El programa del ejemplo entra en un ciclo en el que pide el ingreso de un valor infinitamente hast que se ingrese en 0. Nótese que en la condición del while los valores están separados de los corchetes y de los operadores.
Otro ciclo repetitivo muy utilizado en la programación es el ciclo for. Éste permite ejecutar un bloque de funciones una determinada cantidad de veces. Esta cantidad puede estar definida por el contenido de una variable. El funcionamiento de for en bash puede parecer raro, veamos el ejemplo:
#|!/bin/sh
# ejemplo 5 uso de for
valores=`ls`
for x in $valores
do
echo "el valor de x es: $x"
done
###########F I N############
La variable valores contiene la salida del comando ls (listado de archivos). Esto se logra asignando a la variable el nombre del comando entre comillas invertidas. For realiza u ciclo po cada valor dentro de la variable $valores (en el ejemplo, uno cada archivo); por lo tanto, si tenemos diez archivos en un directorio, for realizará diez repeticiones del código.
Es posible usar for también del siguiente modo:
#!/bin/sh
# ejemplo de for
for x in 1 2 3 4 5
do
echo "el valor de x es: $x"
done
##########F I N###############
De este modo, for realizará cinco ciclos del código especificado tren las sentencias do y done.