Sentencia while loop

Clase 25 de 43Curso de Programación en Bash Shell

Resumen

Aprende a controlar la iteración con precisión usando la sentencia WHILE LOOP. Aquí verás cómo repetir acciones en Ubuntu basándote en una condición lógica, cuándo se detiene el ciclo y qué detalles de sintaxis evitan errores. El enfoque contrasta con for: no recorres una lista, sino que repites mientras una condición sea verdadera.

¿Qué es while loop y cómo se diferencia del for?

La idea central: iterar mientras una condición lógica sea verdadera. A diferencia de for, que recorre una lista de valores de inicio a fin, while loop depende de una evaluación booleana: verdad o falsedad. La palabra reservada WHILE encabeza el formato, seguida de la condición que se evalúa en cada vuelta.

¿Cuál es la estructura básica en Ubuntu?

Formato esencial con variable, condición e incremento. El bloque se cierra con done:

#!/usr/bin/env bash

numero=1

while [ $numero -ne 10 ]
do
  echo "Imprimiendo $numero veces"
  numero=$(( numero + 1 ))
done
  • Variable inicial: numero=1.
  • Condición numérica “no igual a 10”: operador “-ne” (pronunciado “menos e”).
  • Mensaje: "Imprimiendo n veces" con el símbolo de Sucre $ antes de la variable.
  • Incremento con aritmética: numero=$(( numero + 1 )) usando paréntesis externos e internos.
  • Cierre del bloque con done.

¿Por qué la condición lógica controla la iteración?

  • Porque define si se sigue o se detiene en cada vuelta.
  • Si la condición es verdadera, continúa la ejecución del cuerpo.
  • Si la condición deja de cumplirse, el ciclo se corta inmediatamente.

¿Qué hace done y por qué es obligatorio?

  • Marca el final del bloque del while loop.
  • Indica al intérprete dónde termina la sentencia de iteración.
  • Evita errores de sintaxis y comportamientos inesperados.

¿Cómo implementar while loop para contar hasta 10?

Se prepara un script en Ubuntu (copiando la secuencia 16 a la 17, renombrando y editando). Se define la variable numero en 1, se imprime un mensaje en cada iteración y se incrementa en uno hasta que el valor alcance 10. Cuando numero es 10, la condición “no igual a 10” deja de ser verdadera y el ciclo se detiene.

#!/usr/bin/env bash

# Programa para ejemplificar el uso de la sentencia de iteración WHILE LOOP
numero=1

while [ $numero -ne 10 ]
do
  echo "Imprimiendo $numero veces"
  numero=$(( numero + 1 ))
done
  • Ejecución típica en Ubuntu: ./17 tras dar permisos y ubicar el archivo correcto.
  • Resultado observado: se imprime desde 1 hasta 9.
  • Al llegar a 10, el loop se detiene porque la condición ya no aplica.

¿Qué detalles de sintaxis evitan errores?

  • Mantener un espacio entre la palabra reservada while y la condición.
  • Usar correctamente los corchetes de prueba [ ... ] para la condición.
  • Incluir el símbolo de Sucre $ al referenciar la variable en echo y en la aritmética.
  • Verificar los paréntesis externos e internos en $(()) para el incremento.
  • Cerrar siempre el bloque con done.

¿Qué salida esperar y cuándo se detiene?

  • Mensajes del tipo: “Imprimiendo 1 veces”, “Imprimiendo 2 veces”, … “Imprimiendo 9 veces”.
  • El ciclo se corta cuando numero llega a 10.
  • La condición “no igual a 10” deja de cumplirse y el loop finaliza de forma controlada.

¿Qué habilidades y conceptos refuerzas para Postgres?

Este ejercicio fortalece el control de flujo con while loop, el uso de expresiones condicionales y operadores aritméticos en scripts de Ubuntu. Además, promueve atención a detalles de formato: espacios, uso del símbolo $, paréntesis y cierre con done. Todo se integra en la construcción de un programa utilitario que más adelante dará soporte al objetivo con Postgres.

¿Tienes dudas sobre la condición o el incremento? Comenta tu caso y revisamos juntos el while loop paso a paso.

      Sentencia while loop