Menu
CoddyTech

Bucle While

Parte de la sección Fundamentos del Journey de Terminal de Coddy. Lección 72 de 82.

El bucle for es ideal cuando sabes exactamente por qué elementos iterar. Pero ¿qué pasa si quieres seguir repitiendo hasta que cambie una condición determinada? Ahí es donde entra en juego el bucle while.

Un bucle while sigue ejecutándose mientras su condición siga siendo verdadera. Esta es la estructura básica:

#!/bin/bash
count=1
while [ $count -le 5 ]; do
    echo "Count: $count"
    count=$((count + 1))
done

Este script imprime los números del 1 al 5.

El bucle comprueba si count es menor o igual que 5. Si es verdadero, ejecuta el cuerpo, incrementa el contador usando $((...)) para la aritmética y vuelve a comprobarlo.

Una vez que count llega a 6, la condición se vuelve falsa y el bucle se detiene.

Los bucles while son perfectos cuando no sabes de antemano cuántas iteraciones necesitas. Por ejemplo, podrías seguir solicitando datos hasta que el usuario escriba "quit":

#!/bin/bash
input=""
while [ "$input" != "quit" ]; do
    read -p "Enter command (quit to exit): " input
    echo "You entered: $input"
done

Ten cuidado con los bucles while. Si la condición nunca se vuelve falsa, el bucle se ejecuta para siempre.

Asegúrate siempre de que algo dentro del bucle acabe cambiando la condición, como incrementar un contador o actualizar una variable según la entrada del usuario.

challenge icon

Desafío

Fácil

Crea un script de shell llamado counter.sh que use un bucle while para imprimir números del 1 al 4.

Tu script debe:

  1. Empezar con la línea shebang (#!/bin/bash)
  2. Crear una variable llamada num con el valor inicial 1
  3. Usar un bucle while que continúe mientras num sea menor o igual que 4
  4. Dentro del bucle, imprimir el número actual con el formato: Number: [num]
  5. Incrementar num en 1 después de cada iteración usando $((num + 1))

Haz que el script sea ejecutable y ejecútalo. El resultado debe ser:

Number: 1
Number: 2
Number: 3
Number: 4

Pista: Usa -le para la comparación «menor o igual que». Recuerda incrementar el contador dentro del bucle con num=$((num + 1)) para evitar un bucle infinito. Termina el bucle while con done.

Pruébalo tú mismo

Terminal
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Playground de Terminal