Una guía para principiantes de Bash Scripting
13:39, 22.05.2026
¿Has utilizado alguna vez la línea de comandos para instalar un paquete o comprobar el estado del sistema? ¿Te has preguntado alguna vez cómo los desarrolladores automatizan tareas repetitivas, programan tareas o combinan comandos de sistema complejos, casi como por arte de magia? Esta «magia» suele basarse en scripts de Bash.
Imagina los scripts de Bash como fichas de recetas para tu ordenador. Indican con precisión a tu sistema qué hacer, en qué orden y cómo hacerlo, sin necesidad de introducir cada comando manualmente cada vez. Tanto si eres un aficionado a Linux, un entusiasta de DevOps o un completo novato en la línea de comandos, aprender a usar scripts de Bash te abre las puertas a una potente automatización y a un mayor control sobre tu entorno.
Repasemos paso a paso los puntos clave y podrás escribir tu primer script de Bash en muy poco tiempo.
Requisitos del sistema
Antes de sumergirte en el tema, asegúrate de que dispones de lo siguiente:
- Un sistema basado en Unix – macOS o cualquier distribución de Linux (Ubuntu, Fedora, etc.)
- El shell Bash instalado – La mayoría de los sistemas de tipo Unix ya tienen Bash
- Un programa de terminal – Por ejemplo, Terminal (macOS), GNOME Terminal (Linux) o cualquier emulador de consola
- Editor de texto – nano, vim, VS Code o incluso Notepad++, si utilizas WSL (Windows Subsystem for Linux)
Resumen
Antes de escribir scripts, es importante comprender los conceptos básicos.
Repasemos rápidamente qué son los scripts de Bash, por qué son útiles y cómo funciona el shell de Bash.
¿Qué son los scripts de Bash?
Los scripts de Bash consisten en escribir una secuencia de comandos en un archivo que el shell de Bash puede interpretar y ejecutar. Estos scripts automatizan todo: desde copias de seguridad e instalación de software hasta complejos flujos de trabajo de implementación.
Ventajas de utilizar scripts de Bash
- Automatización de tareas repetitivas
- Ahorro de tiempo y reducción de errores humanos
- Mejora de la coherencia entre entornos
- Simplificación de secuencias de comandos complejas
- Mejora de los flujos de trabajo de DevOps y las cadenas de CI/CD
Comprensión del shell Bash y la CLI
Bash (Bourne Again SHell) es un procesador de comandos que permite a los usuarios interactuar con el sistema operativo a través de una interfaz de línea de comandos (CLI). Es el shell predeterminado en muchos sistemas Unix y admite funciones como el historial de comandos, el autocompletado con la tecla Tab y la creación de scripts.
Introducción a los scripts de Bash
Ahora que ya conoces los fundamentos, es hora de empezar a trabajar con comandos y scripts.
Comenzaremos ejecutando comandos sencillos manualmente, antes de pasar a la creación de scripts completos.
Ejecución de comandos Bash en el terminal
Antes de escribir scripts, es útil acostumbrarse a ejecutar comandos directamente en el terminal. Por ejemplo:
ls -l
pwd
echo "Hello, world!"
Cada uno de estos comandos puede formar parte de un script más adelante.
Escribir y ejecutar scripts de Bash
Una vez que te hayas familiarizado con el terminal, el siguiente paso es automatizar tareas mediante la escritura de scripts.
A continuación te explicamos cómo crear, estructurar y ejecutar tu primer script de Bash.
Nombrar correctamente los scripts
Utiliza nombres de archivo claros, escritos en minúsculas con guiones o guiones bajos, por ejemplo backup-database.sh o system_update.sh.
Inclusión de la línea Shebang
La primera línea de tu script debe ser la siguiente:
#!/bin/bash
Esto indica al sistema que ejecute el script utilizando el shell Bash.
Escribir tu primer script Bash
Ejemplo:
#!/bin/bash
echo "¡Bienvenido a tu primer script Bash!"
date
Cómo ejecutar un script Bash
- Hazlo ejecutable:
chmod +x nombre_del_script.sh
- Ejecútalo:
./nombre_del_script.sh
Fundamentos de la programación de scripts en Bash
Las buenas prácticas de programación de scripts son fundamentales para escribir scripts claros, eficaces y fáciles de mantener.
Veamos los elementos básicos que debe contener todo script de Bash.
Uso de comentarios en Bash
Los comentarios comienzan con # y son ignorados por el shell.
Son ideales para la documentación.
# Este script da la bienvenida al usuario
echo "Hello!"
Declaración de variables y tipos de datos
name="Alice"
count=3
No pongas espacios alrededor del signo = !
Buenas prácticas para los nombres de variables
- Utiliza nombres descriptivos: user_count, en lugar de uc
- Utilice minúsculas o snake_case
- Evite sobrescribir variables de entorno
Manejo de la entrada y salida en scripts
Los scripts a menudo necesitan interactuar con los usuarios o con el entorno del sistema.
Veamos cómo gestionar eficazmente los datos de entrada y salida en Bash.
Obtención de datos de entrada del usuario
read -p "Introduzca su nombre: " user
echo "¡Bienvenido, $user!"
Salida de texto y resultados
echo "Directorio actual: $(pwd)"
Comandos comunes de Bash (por ejemplo, echo, read)
- echo - Visualización de mensajes
- read - Obtención de datos de entrada del usuario
- pwd - Mostrar el directorio actual
- ls - Lista de archivos
- date - Mostrar la hora actual
Uso de lógica condicional (if, else)
Los scripts a menudo tienen que tomar decisiones basadas en diferentes condiciones.
Así es como se implementa la lógica básica utilizando if y else operadores.
if [ "$user" == "admin" ]; then
echo "Acceso concedido."
else
echo "Acceso denegado."
fi
Control de flujo en Bash: bucles y condiciones
Para gestionar tareas repetitivas y condiciones múltiples, Bash proporciona estructuras de control de flujo.
Al aprender a utilizar bucles y operadores condicionales, ampliarás considerablemente las capacidades de tus scripts.
Uso de bucles while
count=1
while [ $count -le 5 ]; do
echo "Count is $count"
((count++))
done
Uso de bucles for
for file in *.txt; do
echo "Procesando $file"
done
Tratamiento de varios casos mediante operadores case
case $1 in
start) echo "Iniciando el servicio..." ;;
stop) echo "Parada del servicio..." ;;
*) echo "Uso: $0 {start|stop}" ;;
esac
Automatización de scripts Bash con cron
La automatización es una de las ventajas clave de los scripts Bash.
Veamos cómo programar la ejecución automática de tus scripts con cron.
Programación de tareas con crontab
Para editar crontab:
crontab -e
Para ejecutar el script todos los días a las 9 de la mañana:
0 9 * * * /path/to/script.sh
Asegúrate de que el script sea ejecutable y utilice rutas absolutas.
Depuración y resolución de problemas en scripts de Bash
Ningún script es perfecto a la primera.
Saber cómo depurar y solucionar problemas en tus scripts es esencial para garantizar la fiabilidad.
Activar el modo de depuración con set -x
set -x
Muestra cada comando antes de ejecutarlo, lo que resulta ideal para el seguimiento.
Comprobación del estado de finalización del script
if [ $? -eq 0 ]; then
echo "Success!"
else
echo "Something went wrong."
fi
Añadir echo para mostrar información de depuración
Inserta echo operadores en diferentes lugares de tu script para rastrear valores o confirmar el flujo.
Finalización forzada en caso de error mediante set -e
#!/bin/bash
set -e
Detiene el script si cualquier comando ha fallado.
Diagnóstico de tareas Cron mediante archivos de registro
Revisa los registros de cron (a menudo en /var/log/syslog o mediante journalctl), para comprobar si se ejecutan tus scripts y cuándo lo hacen.
Reflexiones finales
La programación en Bash puede parecer complicada al principio, pero con solo conocer unos pocos conceptos básicos, puedes empezar a automatizar tareas, crear tus propias herramientas y obtener un control total sobre tu sistema. Cuando te hayas acostumbrado, empezarás a combinar Bash con otras potentes herramientas, como grep, awk y sed , para escribir scripts realmente fiables.
Recuerda: escribir scripts es como aprender un nuevo idioma: cuanto más practiques, más fluidez tendrás