Saltar al contenido principal
Bash
Especialización Nivel medio certificado-bash-scripting-sintaxis

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.

Evidencias FUNDAE Activación guiada Evaluación con IA Sin permanencia

¿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.

5 módulos 20 lecciones 20 ejercicios evaluados por IA 4 tests
  • 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
Llave en mano para empresas

¿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.