Bucle For
Parte de la sección Fundamentos del Journey de Terminal de Coddy. Lección 71 de 82.
A veces necesitas repetir una acción varias veces. En lugar de escribir el mismo comando una y otra vez, puedes usar un bucle for para iterar por una lista de elementos y realizar una acción en cada uno.
Esta es la estructura básica de un bucle for en Bash:
#!/bin/bash
for name in Alice Bob Charlie; do
echo "Hello, $name!"
doneEste script muestra un saludo para cada nombre de la lista. La variable name toma cada valor por turnos: primero "Alice", después "Bob" y luego "Charlie". La palabra clave do marca el inicio del cuerpo del bucle, y done lo termina.
Los bucles for son especialmente potentes cuando se combinan con comodines. Puedes recorrer todos los archivos de un directorio:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
doneEsto itera sobre cada archivo .txt del directorio actual. En cada iteración, la variable file contiene el nombre del archivo actual, lo que te permite realizar operaciones en cada archivo automáticamente.
También puedes iterar por un rango de números usando la expansión de llaves:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
doneEsto imprime los números del 1 al 5. Los bucles for convierten las tareas repetitivas en unas pocas líneas de código, lo que hace que tus scripts sean más eficientes y fáciles de mantener.
Desafío
FácilCrea un script de shell llamado countdown.sh que use un bucle for para imprimir una cuenta regresiva del 5 al 1.
Tu script debe:
- Comenzar con la línea shebang (
#!/bin/bash) - Usar un bucle
forcon expansión de llaves para iterar por los números del 5 al 1 - Imprimir cada número en su propia línea con el formato:
Countdown: [number]
Haz que el script sea ejecutable y ejecútalo. Tu salida debe ser:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1Pista: Usa
{5..1}para crear un rango descendente. Dentro del bucle, usaecho "Countdown: $i", dondeies la variable de tu bucle.
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 datosPractica por tu cuenta: Playground de Terminal