Bash en español: curso, seguridad y ejemplos

← Más ejemplos de código: Java, Python, C#, PHP, C, C++, Bash…

Bash es el intérprete de órdenes de casi todos los servidores Linux, de WSL en Windows y de los contenedores, y el pegamento con el que se automatiza todo lo demás: copias de seguridad, despliegues, registros, tareas programadas. Aquí tienes un curso desde cero con Bash 5.3, una guía de los fallos de seguridad que más se repiten en los scripts y de cómo evitarlos, las versiones que hay que conocer, sus rarezas, un test y ejemplos para tareas concretas. Todos los scripts se ejecutaron y se revisaron con ShellCheck antes de publicarse.

Curso · 8 leccionesAprende Bash desde cero, en españolDel primer echo a un script con opciones, registro y pruebas: variables y comillas, condiciones y bucles, funciones y arrays, redirecciones y tuberías, grep, sed y awk, y scripts que no se rompen. Con esquemas, retos y el aviso real de ShellCheck en cada error.Ir al curso →

Seguridad: lo que no puede faltar

Un script de Bash suele correr con permisos de sobra, a menudo como root o desde cron, y procesa nombres de archivo y datos que no controla. Por eso un descuido tan pequeño como olvidar unas comillas puede borrar lo que no debía o ejecutar órdenes ajenas. Casi todos esos errores los detecta ShellCheck, que es gratuito. Cada lección del curso tiene su recuadro «Ojo con la seguridad», y estas dos páginas lo reúnen todo.

SeguridadLos fallos de seguridad típicos de los scripts de BashVariables sin comillas, eval, archivos temporales predecibles, nombres de archivo con guiones, rutas vacías en rm -rf, secretos a la vista y curl | bash: cada uno con cómo detectarlo y la forma segura.Ver los fallos → Versiones y parchesDel Bourne shell a Bash 5.3, y ShellshockQué trajo cada versión, por qué macOS sigue con Bash 3.2, qué es POSIX y qué cambió tras Shellshock.Ver las versiones →

Practica y ponte a prueba

RarezasLo que Bash hace sin avisarVariables que se pierden en una tubería, set -e que no salta, [ frente a [[, $* frente a $@ y números que de pronto son octales.Ver las rarezas → Test · 24 preguntas¿Qué imprime este script?24 preguntas sobre el curso, con fragmentos de Bash: decide qué escriben. Con la nota, los aciertos por lección y la salida real de Bash 5.3 en cada respuesta.Hacer el test →

Los ejemplos son scripts de un solo archivo que se ejecutan con bash script.sh (o con chmod +x script.sh y ./script.sh). Están probados con Bash 5.3 y las herramientas GNU de Linux; en macOS, que trae Bash 3.2 y herramientas BSD, algunas opciones cambian, y en Windows funcionan con WSL o Git Bash.

Archivos y texto

Datos y registros

  • Analizar registros (logs)Contar errores, las IP que más piden y las peticiones por hora de un access.log.
  • Fechas y horasdate con formatos, sumar días, diferencias entre fechas, zonas horarias y marcas de tiempo.
  • Leer y crear JSON con jqExtraer campos, filtrar arrays, convertir a CSV y construir JSON sin romper las comillas.
  • Copias de seguridadtar con fecha, rotación de copias viejas, comprobar la copia y avisar si falla.

Scripts para el día a día

Todos los scripts se ejecutaron con Bash 5.3 en Ubuntu 26.04, en un contenedor limpio sin acceso a la red, y se revisaron con ShellCheck 0.11 antes de publicarse; las salidas y los avisos que aparecen están copiados de esa ejecución. ¿Buscas las órdenes sueltas? Están en Los comandos de Linux que de verdad se usan.