Este curso intermedio amplía los scripts Bash básicos con funciones reutilizables, alcance controlado, limpieza, expansión de parámetros y arrays. En cinco laboratorios guiados organizarás la lógica, separarás salida de texto y estado, responderás a la terminación, manipularás cadenas sin herramientas externas y procesarás colecciones con seguridad.
El desafío final combina esas técnicas en log_manager.sh: mantener un array fijo de registros preparados, derivar nombres .backup en una función, copiar archivos existentes, avisar de objetivos ausentes y eliminar un informe temporal al salir.
Lo que aprenderás
- Definir y llamar funciones Bash y pasar valores mediante sus argumentos
- Proteger el estado con variables
localen vez de cambiar variables globales accidentalmente - Devolver códigos de estado, capturar
$?inmediatamente y ramificar según el resultado - Registrar funciones de limpieza para SIGINT y EXIT con
trap - Cortar, sustituir y proporcionar valores predeterminados mediante expansión de parámetros
- Declarar arrays, añadir elementos, expandir todos los valores e iterar con comillas seguras
- Derivar nombres de copia sustituyendo
.logpor.backupdentro de una función - Coordinar limpieza, arrays, pruebas de archivo, funciones y avisos en un script ejecutable
A quién va dirigido este curso
Este curso está dirigido a quienes ya dominan los fundamentos de Bash y desean técnicas intermedias para hacer pequeños scripts de mantenimiento más modulares y predecibles.
Requisitos previos: Scripts Bash, variables, argumentos posicionales, condicionales, bucles, pruebas de archivos, códigos de salida, redirección, permisos de ejecución y comandos básicos de archivos.
Entorno de aprendizaje: Una terminal de LabEx basada en Ubuntu con Bash, scripts editables, ejercicios de señales y archivos temporales y tres registros preparados para el desafío.
Preguntas frecuentes
¿Cómo está estructurado el curso?
Cinco laboratorios ofrecen práctica guiada. El sexto elemento es un desafío donde crearás un log_manager.sh que combina trap, función, array, sustitución y bucle.
¿El gestor final comprime, elimina o rota realmente los registros?
No. Copia cada .log preparado a un archivo .backup junto a él y conserva el original. No comprime, aplica retención, trunca ni configura logrotate.
¿Qué eventos manejan los ejercicios de trap?
El laboratorio guiado registra limpieza para SIGINT y EXIT, de modo que Ctrl+C y la salida normal eliminan un temporal. El desafío exige específicamente un trap EXIT que borre report.txt.
¿Puede una función Bash devolver texto mediante return?
No en estos ejercicios. return lleva un estado entero de 0 a 255 para control; el texto se produce con echo o se captura mediante sustitución de comandos.





