Llevas semanas usando CachyOS y notas un patron: cada mañana ejecutas los mismos seis comandos para actualizar paquetes, limpiar cache y hacer un snapshot manual. Eso son tres minutos que pierdes todos los dias. Bash scripting convierte esa rutina en un solo comando actualizar.sh que corre todo de un saque, registra lo que paso y te avisa si algo fallo. Esta leccion te ensena a escribir scripts de produccion en CachyOS: con shebang correcto, manejo estricto de errores y estructuras de control reales.
if [[ ! -d "$origen" ]]; then log "ERROR" "No existe $origen" return 1 fi
log "INFO" "Backup de $origen -> $destino" rsync -a --delete "$origen/" "$destino/" log "OK" "Backup terminado" }
backup_carpeta "$HOME/Documentos" "/mnt/backup/documentos"
local nivel=...local limita la variable al scope de la funcion. Sin local, contaminas el resto del script.
local son la fuente clasica de bugs invisibles: dos funciones que usan $i pisan datos entre si.return 1Las funciones devuelven exit codes igual que los comandos. 0 es exito, cualquier otro numero es error. Combinado con set -e, un return 1 aborta el script entero.