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))
doneEste 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"
doneTen 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.
Desafío
FácilCrea un script de shell llamado counter.sh que use un bucle while para imprimir números del 1 al 4.
Tu script debe:
- Comenzar con la línea shebang (
#!/bin/bash) - Crear una variable llamada
numcon el valor inicial1 - Usar un bucle while que continúe mientras
numsea menor o igual a 4 - Dentro del bucle, imprimir el número actual en el formato:
Number: [num] - Incrementar
numen 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: 4Pista: Usa
-lepara la comparación "menor o igual que". Recuerda incrementar el contador dentro del bucle connum=$((num + 1))para evitar un bucle infinito. Termina tu bucle while condone.
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))
doneEl 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"
doneAsegúrate siempre de que algo dentro del bucle cambie eventualmente la condición para evitar bucles infinitos.
Pruébalo tú mismo
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro13Fundamentos de Scripting en Shell
Qué es un Script de ShellCrear y Ejecutar un ScriptVariables en ScriptsEntrada de Usuario en ScriptsSentencia IfBucle ForBucle WhileRepaso - Adivina el Número2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos