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 bashnumero=1while[$numero -ne 10]doecho"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 LOOPnumero=1while[$numero -ne 10]doecho"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.
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.
Si en lugar de poner “$numero -ne 10” probamos con “-le” que significa <= te imprimirá las repeticiones hasta el 10 ya que con, -ne cuando numero es igual a 10 al evaluarse la condición el resultado es falso puesto que son iguales y por lo tanto el ciclo termina mostrando únicamente hasta el 9.
Yo le agregué una opción para ingresar el número deseado de repeticiones.
#!/bin/bash#Programa para ejemplificar el uso de ciclos while.#Autor:CarlosAugustoPérez Méndez
numero=1N=0read -p "Ingresa el número de repeticiones:"Nwhile[ $numero -le $N]do echo "Imprimiendo $numero veces" numero=$(( numero +1))done
El ciclo while permite ejecutar un bloque de instrucciones mientras se cumpla la condición. Primero comprueba que en efecto se cumple la condición dada y entonces, ejecuta el segmento de código contenido entre las palabras do y done, así sucesivamente hasta que la condición no se cumpla.
while[ condición ]do//Bloque de instrucciones
done
# !/bin/bash
# Programa para uso de while loop
# AuthorDiegoBeltran histagram @diegodevelops
numero=1while[ $numero -ne 10]do echo "Imprimiendo .... $numero Veces" numero=$(( numero +1))done
# Fibonacci usando while# Autor:JoseDiaz<josemdiazax@gmail.com>x=0a=0b=1read -p "Inserte el numero de repeticiones: "Necho "La serie de Fibonacci es:"while[ $x -lt $N]do echo "$a" c=$((a + b)) a=$b
b=$c
x=$(( x +1))done
Script escrito y probado en Ubunto 18.04
#Muestra los números de la serie de fibonnacci hasta la posición
#indicada
declare -i loop_control=2 #declare "loop_control" as Integer
declare -i fib_num_A=0
declare -i fib_num_B=1
declare -i limit_serie=3
echo "FIBONACCI SERIE"
read -p "Enter the length of fibonacci (min. 3): " limit_serie
echo -e ""
while (( $limit_serie < 3 ))
do
echo -e "Limit must be at least 3!!"
read -p "Enter the length of fibonacci (min. 3): " limit_serie
done
The serie is printed
echo "Num 1: $fib_num_A"
echo "Num 2: $fib_num_B"
while (( $loop_control < $limit_serie )) # -ne. Not Equal
do
#!/bin/bash#Programa para ejemplificar el uso de la sentencia de iteración While Loop#Author: Juan Manuelnumero=1while[$numero -ne 10]doecho"Imprimiendo $numero veces"numero=$((numero +1))done
Salida
#Comandobash 17_whileLoop.sh
#SalidaImprimiendo 1 veces
Imprimiendo 2 veces
Imprimiendo 3 veces
Imprimiendo 4 veces
Imprimiendo 5 veces
Imprimiendo 6 veces
Imprimiendo 7 veces
Imprimiendo 8 veces
Imprimiendo 9 veces