Este curso intermedio convierte comandos conocidos del shell en programas Bash reutilizables. En seis laboratorios guiados crearás scripts ejecutables, aceptarás entrada interactiva y argumentos, ramificarás según condiciones, repetirás tareas con bucles, reaccionarás al estado de comandos y conservarás un historial con marcas de tiempo.
El desafío final combina esas bases en una herramienta onboard.sh que valida un nombre, evita cuentas duplicadas, crea un usuario Bash y su directorio de trabajo con la propiedad correcta y registra la creación.
Lo que aprenderás
- Escribir un script Bash con shebang, hacerlo ejecutable y lanzarlo mediante
./ - Guardar valores en variables y aceptar entrada con
reado el argumento$1 - Comprobar la existencia de archivos y la identidad numérica con
ifyelse - Recorrer rangos numéricos y comodines de nombres mediante bucles
for - Repetir mientras se cumpla una condición numérica con un bucle
while - Inspeccionar
$?inmediatamente después de un comando y ramificar si falla - Añadir mensajes y fechas a un log de ruta absoluta sin sobrescribir el historial
- Crear un script de cuentas con validación de argumentos, propiedad y auditoría
A quién va dirigido este curso
Este curso está dirigido a usuarios de Linux que ya conocen comandos, archivos, permisos, variables y redirección y desean combinarlos en pequeños scripts administrativos de Bash.
Requisitos previos: Manejo cómodo de navegación, archivos, Nano u otro editor, variables, comodines, sustitución de comandos, redirección, permisos y sudo.
Entorno de aprendizaje: Una terminal de LabEx basada en Ubuntu con Bash, scripts editables, archivos de prueba y acceso administrativo aislado para crear cuentas locales del desafío.
Preguntas frecuentes
¿Cómo está estructurado el curso?
Seis laboratorios ofrecen práctica guiada. El séptimo elemento es un desafío con menos orientación donde construirás y probarás progresivamente un programa onboard.sh ejecutable.
¿El laboratorio de programación configura Cron u otro planificador?
No. Prepara el script para uso desatendido añadiendo mensajes y date a un log de ruta absoluta y simula ejecuciones manuales. Cron se cubre en otro curso.
¿Qué cambios hace el script final en el sistema?
En el laboratorio aislado usa sudo useradd -m -s /bin/bash para crear una cuenta local real, crea /home/<username>/work, asigna su propiedad y añade una entrada a ~/project/onboard.log.
¿Hasta qué nivel llega el manejo de errores?
Introduce $?, exit no nulo, validación del número de argumentos y condiciones para comandos fallidos o usuarios existentes. No cubre traps, set -euo pipefail, limpieza ni reversión transaccional.





