Menu
Coddy logo textTech

Bucle While

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

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

Un bucle while continúa ejecutándose mientras su condición siga siendo verdadera. Aquí está 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 a 5. Si es verdadero, ejecuta el cuerpo, incrementa el contador usando $((...)) para aritmética, y comprueba de nuevo.

Una vez que count alcanza 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 pidiendo entrada 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, tu bucle se ejecuta indefinidamente.

Asegúrate siempre de que algo dentro del bucle cambie eventualmente 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. Comenzar 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 a 4
  4. Dentro del bucle, imprimir el número actual en 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. Tu salida 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 tu bucle while con done.

Hoja de referencia

Un while bucle continúa ejecutándose mientras su condición permanezca verdadera:

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

El bucle verifica la condición antes de cada iteración. Use $((...)) para operaciones aritméticas para incrementar contadores.

Los bucles while son útiles cuando no sabes de antemano cuántas iteraciones necesitas, como esperar una entrada específica del usuario:

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

Asegúrate siempre de que algo dentro del bucle cambie eventualmente la condición para evitar bucles infinitos.

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