Certificado de Bash Scripting
8h 0m
Aprende sintaxis de Bash para crear scripts que automatizan tareas en sistemas y servidores de forma eficiente.
Accede GRATIS y certifícateBash (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
Herramientas complementarias
Depuración de scripts
Para facilitar la depuración de scripts de Bash:
#!/bin/bash
set -x # Activa el modo de depuración (muestra cada comando antes de ejecutarlo)
# Código a depurar
nombre="Juan"
echo "Hola $nombre"
Herramientas de análisis
- ShellCheck: Herramienta de análisis estático para detectar problemas en scripts
- Explainshell: Servicio web que explica comandos de shell complejos
¡Adelante con el curso de Scripting con Bash!
Bash Scripting es una habilidad fundamental para administradores de sistemas, desarrolladores y cualquier profesional que trabaje con sistemas Unix/Linux. Dominar esta tecnología permite automatizar tareas repetitivas, mejorar la eficiencia y crear soluciones personalizadas para problemas específicos.
A lo largo de este curso, exploraremos desde los conceptos básicos hasta técnicas avanzadas que te permitirán crear scripts robustos, eficientes y seguros para una amplia variedad de aplicaciones prácticas.
Tutoriales de programación en este certificado
Completa estas lecciones de programación para obtener tu certificado de superación
Ejercicios de programación de Bash Scripting
Completa estos ejercicios de programación para obtener tu certificado de superación
Otros cursos de programación con certificado
Supera todos los retos de Bash Scripting y obtén estos certificados de superación para mejorar tu currículum y tu empleabilidad.

Git Básico
5h 0m

Git Avanzado
8h 0m

HTML Básico
3h 0m

HTML Intermedio
5h 0m

HTML Avanzado
8h 0m

CSS Básico
5h 0m

CSS Intermedio
7h 0m

CSS Avanzado
8h 0m

JavaScript Sintaxis
5h 0m

JavaScript OOP Intermedio
7h 0m

JavaScript Asíncrono y Funcional
6h 0m

JavaScript DOM
8h 0m

TypeScript Sintaxis Básica
5h 0m

TypeScript OOP
8h 0m

TypeScript Avanzado
8h 0m

Python Sintaxis Básica
5h 0m

Python Estructuras de datos
3h 0m

Python OOP
8h 0m

Python Funcional
7h 0m

Python Biblioteca Estándar
10h 0m
Tecnologías que aprenderás

Al finalizar este curso obtendrás

Certificado de superación en Bash Scripting
Tras completar todas las lecciones y ejercicios del curso Bash Scripting se te genera un enlace con tu certificado para que lo puedas descargar o compartir directamente en cualquier plataforma, siempre accesible.