Bash Scripting
Bash ·DevOps
Curso para escribir scripts Bash robustos y automatizar tareas en servidores Linux y pipelines CI/CD. Trabajas variables y expansiones, parámetros, estructuras de control, funciones, arrays, aritmética, gestión de errores con flags estrictos y traps, además de debugging y validación con linters de shell. Al terminar construyes scripts profesionales para backups, despliegues y tareas programadas, integrables en cron, systemd timers y pipelines de GitHub Actions o Jenkins.
¿Prefieres verlo en directo? Agenda una demo sin compromiso.
Formación corporativa: este curso se activa bajo pedido para tu organización. Adaptamos temario, calendario y modalidad (teleformación, aula virtual o mixto).
Contenido del curso
Intérprete de comandos y lenguaje de scripting para Unix y Linux.
-
Principales distribuciones de Linux Lección
-
Test: distribuciones de Linux Test
-
Instalar Ubuntu en Windows con WSL Lección
-
Test: instalar Ubuntu en Windows con WSL Ejercicio
-
Introducción a Shell y Bash Lección
-
Test: introducción a shell y Bash Test
Detalles del curso
Bash (Bourne Again SHell) es el intérprete de comandos estándar en la mayoría de sistemas Linux y macOS, que combina la potencia de Unix con capacidades avanzadas de scripting. Dominar Bash permite automatizar tareas repetitivas, gestionar sistemas y crear flujos de trabajo eficientes mediante scripts que pueden ejecutar secuencias de comandos como si fueran pequeños programas.
¿Qué es Bash Scripting?
Bash Scripting es el arte de crear scripts ejecutables que contienen secuencias de comandos de shell para automatizar tareas en sistemas Unix/Linux. Un script de Bash es esencialmente un archivo de texto que contiene una serie de comandos que el intérprete Bash ejecuta secuencialmente.
La sintaxis de Bash combina elementos de lenguajes de programación tradicionales con comandos específicos del sistema operativo, creando un entorno versátil para la administración de sistemas y la automatización de tareas.
Fundamentos de Bash
La shell como entorno de trabajo
Bash no es solo un lenguaje de scripting, sino también un entorno interactivo donde los usuarios pueden ejecutar comandos directamente. Esta dualidad permite probar comandos antes de incorporarlos a scripts permanentes, facilitando el desarrollo iterativo.
# Ejemplo de comando interactivo
echo "Hola, mundo"
Permisos y ejecución
Para que un script de Bash sea ejecutable, debe tener los permisos adecuados y comenzar con la línea shebang que indica al sistema qué intérprete usar:
#!/bin/bash
# Este es mi primer script
echo "Script ejecutado correctamente"
Para hacerlo ejecutable:
chmod +x miscript.sh
./miscript.sh
Componentes esenciales de Bash Scripting
Variables y tipos de datos
En Bash, las variables almacenan información que puede ser utilizada y manipulada durante la ejecución del script. A diferencia de otros lenguajes, Bash no requiere declaración explícita de tipos de datos.
# Asignación de variables
nombre="Ana"
edad=25
echo "Hola $nombre, tienes $edad años"
Bash maneja principalmente cadenas de texto, aunque puede realizar operaciones aritméticas con valores numéricos mediante construcciones especiales.
Operadores
Los operadores en Bash permiten realizar comparaciones, operaciones aritméticas y manipulaciones de cadenas. Incluyen operadores aritméticos (+, -, *, /), de comparación (-eq, -ne, -lt, -gt) y lógicos (&&, ||).
# Operaciones aritméticas
resultado=$((5 + 3))
echo "5 + 3 = $resultado"
# Comparaciones
if [ $edad -gt 18 ]; then
echo "Eres mayor de edad"
fi
Control de flujo
Las estructuras de control permiten tomar decisiones y repetir acciones en los scripts de Bash. Las principales son:
- Condicionales (
if,elif,else) - Bucles (
for,while,until) - Selección múltiple (
case)
# Estructura condicional
if [ $1 -gt 10 ]; then
echo "El número es mayor que 10"
elif [ $1 -eq 10 ]; then
echo "El número es igual a 10"
else
echo "El número es menor que 10"
fi
# Bucle for
for i in {1..5}; do
echo "Iteración $i"
done
Manipulación de texto y expresiones regulares
Bash ofrece herramientas poderosas para procesar y manipular texto, incluyendo comandos como grep, sed y awk, que pueden combinarse con expresiones regulares para realizar búsquedas y transformaciones complejas.
# Buscar líneas que contienen "error" en un archivo de registro
grep "error" /var/log/syslog
# Reemplazar texto con sed
echo "Hola mundo" | sed 's/mundo/amigo/'
Las expresiones regulares permiten definir patrones de búsqueda sofisticados para encontrar, extraer o reemplazar texto con precisión.
Funciones
Las funciones en Bash permiten encapsular bloques de código reutilizables, mejorando la modularidad y mantenibilidad de los scripts.
# Definición de función
saludar() {
echo "Hola, $1"
}
# Llamada a la función
saludar "Carlos"
Las funciones pueden recibir parámetros, devolver valores mediante códigos de salida y variables, y ser utilizadas como componentes fundamentales para scripts complejos.
Aplicaciones prácticas
Automatización de tareas del sistema
Bash es ideal para automatizar tareas administrativas como:
- Copias de seguridad programadas
- Monitorización de recursos
- Mantenimiento del sistema
- Gestión de usuarios
# Script para hacer backup de una base de datos PostgreSQL
#!/bin/bash
DB_NAME="mibasededatos"
BACKUP_DIR="/var/backups/postgres"
DATE=$(date +%Y%m%d)
# Crear directorio si no existe
mkdir -p $BACKUP_DIR
# Realizar backup
pg_dump $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
echo "Backup completado: $BACKUP_DIR/$DB_NAME-$DATE.sql"
Integración con APIs y servicios web
Los scripts de Bash pueden interactuar con servicios web mediante herramientas como curl y wget, permitiendo automatizar tareas como:
- Obtención de datos de APIs
- Monitorización de servicios web
- Procesamiento de datos en formato JSON o XML
# Obtener el precio actual de Bitcoin desde la API de Coindesk
#!/bin/bash
precio=$(curl -s https://api.coindesk.com/v1/bpi/currentprice/USD.json |
grep -o '"rate":"[^"]*' |
cut -d'"' -f4)
echo "El precio actual de Bitcoin es: $precio USD"
Buenas prácticas en Bash Scripting
Estructura y organización
- Utilizar la línea shebang al inicio de cada script
- Incluir comentarios descriptivos para explicar el propósito y funcionamiento
- Organizar el código en secciones lógicas
- Usar nombres significativos para variables y funciones
Manejo de errores
El manejo adecuado de errores es crucial para crear scripts robustos:
#!/bin/bash
set -e # Detiene la ejecución si algún comando falla
# Verificar si existe un archivo
if [ ! -f "$1" ]; then
echo "Error: El archivo $1 no existe" >&2
exit 1
fi
# Continuar con el procesamiento
echo "Procesando archivo $1..."
Seguridad
- Evitar el uso de eval con entrada no confiable
- Validar y sanitizar todas las entradas de usuario
- Utilizar comillas dobles alrededor de las variables para evitar problemas con espacios
- Establecer permisos restrictivos en scripts con información sensible
Otros cursos de Bash
Bash Comandos
Curso práctico de comandos de Bash en Linux y WSL para moverte con soltura en la terminal. Trabajas navegación del sistema de ficheros, gestión de archivos y permisos, control de procesos, redirecciones y tuberías, filtros de texto y comandos de red básicos. Al terminar manejas con autonomía un servidor Linux, depuras incidencias por SSH, operas contenedores Docker y resuelves tareas habituales de DevOps sin recurrir a interfaces gráficas.
Bash
Curso completo de Bash, el intérprete de comandos estándar de Linux y macOS y herramienta diaria para perfiles DevOps, SRE y backend. Cubre desde la instalación del entorno hasta la administración avanzada: navegación, archivos y permisos, procesos, servicios systemd, redes, SSH, scripting con control de flujo, funciones y arrays, manejo de errores y validación con linters. Al terminar construyes proyectos reales de automatización, backups y pipelines listos para producción.
¿Formación para tu equipo en esta tecnología?
Tú nos dices a quién formar y nosotros configuramos la plataforma con tu marca, damos de alta a tu gente, evaluamos las entregas con IA y te entregamos los certificados y los informes técnicos para tu gestor FUNDAE. Catálogo amplio con teleformación, aula virtual o mixto. Sin permanencia, sin coste de setup.
¿Prefieres verlo en directo? Agenda una demo.
Preguntas frecuentes
- ¿Bash Scripting es bonificable por FUNDAE para mi empresa?
- Puede ser bonificable cuando la acción cumple los requisitos aplicables. La plataforma aporta evidencias técnicas: seguimiento de tiempos, registro de conexiones, foros, encuestas y certificados para que tu entidad organizadora o gestoría revise la documentación.
- ¿En qué modalidades se imparte Bash Scripting?
- En tres modalidades: teleformación (online asíncrona), aula virtual privada en directo y mixta. Adaptamos temario, calendario y modalidad al equipo.
- ¿Se adapta Bash Scripting al nivel de mi equipo?
- Sí. Adaptamos temario, calendario y modalidad al nivel y al stack del equipo, con ejercicios evaluados por IA y certificado verificable.
- ¿Cuánto tarda en activarse para mi empresa?
- La activación corporativa estándar es rápida, sin coste de setup ni permanencia.