¿Ya dominas lo básico? Un curso estructurado de shell scripting es la vía rápida para dar el salto.
Ver cursos de shell scripting en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primer guion (echo)
- 03Usar variables
- 04Argumentos de la línea de órdenes ($1, $2 ...)
- 05Condicionales (la sentencia if)
- 06Repetir (el bucle for)
- 07Repetir (el bucle while)
- 08Escribir tu propia función
- 09Trabajar con arrays
- 10Sustitución de comandos ($())
- 11Trabajar con texto (expansión de parámetros)
- 12Leer de la entrada estándar (read)
- 13Estado de salida y && / ||
- 14Tuberías y redirección
- 15La sentencia case
- 16Aritmética ($(( )))
- 17Lo básico de grep, sed y awk
- 18Comprobación de argumentos y manejo de errores
- 19Valores devueltos por funciones y códigos de salida
- 20[Proyecto] Construye un contador de registros
Repetir (el bucle for)
En esta lección repetirás un bloque de código recorriendo una lista de valores.
La forma es for variable in lista; do ... done. La lista puede escribirse a mano, generarse con un rango ({1..5}) o venir de una expansión de nombres de archivo (*.txt).
El código de ejemplo recorre cinco números y los imprime uno por línea.
La forma más útil en el día a día es justamente la tercera: for f in *.log; do ... done recorre todos los archivos que encajen. Pero cuidado, porque si no hay ninguno, bash pasa el patrón literal *.log como si fuera un nombre de archivo, y el bucle se ejecuta una vez con un archivo que no existe. Es un despiste clásico.
Y otra vez el mismo consejo: entrecomilla la variable dentro del bucle, "$f". Un archivo llamado informe final.log se partiría en dos sin las comillas, y el guion actuaría sobre dos archivos inexistentes.
🧪 Este sitio no puede compilar ni ejecutar Shell Script directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
🔗 El mismo tema en otros lenguajes
Mira cómo se escribe lo mismo en otro lenguaje.
