next up previous contents index
Next: Comandos interesantes Up: Control de flujo Previous: select   Índice General   Índice de Materias


while y until

while estado de salida
do
  código
done

Una utilización especialmente interesante de while puede ser:

i=1
while true
do
   echo $i
   i=$(expr $i + 1)
   if [ $i == 6 ]
   then
      exit 0
   fi
done
  

Que mostrará por pantalla:

1
2
3
4
5
  

Para until la estructura es la misma, pero sustituyendo while por until. En while el bucle se ejecuta mientras la condición sea cierta; en until el bucle se ejecuta mientras la condición sea falsa2.6 (se comprueban las condiciones al principio de cada recorrido por el bucle).

Ej:

notas_de_campos="0:0:0:0:1:2:0:0,5:"

#repetimos hasta que notas_de_campos sea cadena vacía
while [ $notas_de_campos ]
do
    echo "$notas_de_campos%%:*"          #mostramos la primera nota
    notas_de_campos=$notas_de_campos#*:  #quitamos la primera
done
  
Si se compara este ejemplo con el de for (página [*]), vemos que el resultado es el mismo.

Una utilización especialmente interesante de until es la siguiente:

until comando
do
  código
done

que corre el código hasta que el comando se ejecuta con éxito.


next up previous contents index
Next: Comandos interesantes Up: Control de flujo Previous: select   Índice General   Índice de Materias
Alberto Cortés 2001-03-26