Fundamentos del lenguaje
26 pasos en 9 series de Bash.
Bash es el lenguaje que todos usan y casi nadie estudia. Corre tu CI, tus deploys, tus dotfiles y el pegamento entre todas tus herramientas, y es tan viejo que sus filos son estructurales: las comillas deciden si un nombre de archivo con espacio sobrevive, un código de salida decide si un pipeline te miente, y la diferencia entre $@ y $* ha roto despliegues reales. Estudiarlo unas horas paga una década de conjuros copiados y pegados.
Este tour cubre el shell como lenguaje: expansión y comillas, los constructos test y case, bucles sobre palabras y líneas, arreglos de verdad, funciones, y las tuberías y redirecciones que componen herramientas pequeñas en respuestas grandes. grep, sed y awk tienen su propia serie, y la serie de seguridad enseña el preludio con el que empieza todo script serio. Cada fragmento parsea con bash -n y pasa shellcheck antes de llegar a ti.
Variables y comillas
- Variables y comillasAsignación, expansión y las comillas que mantienen enteras las palabras.
- Expansión de parámetrosLa caja de llaves: longitud, recortes, valores por defecto y sustitución.
- AritméticaLa matemática entera vive dentro de paréntesis dobles.
Condicionales
- if y [[ ]]Ramificar según comparaciones, globs y el sistema de archivos.
- caseUn valor contra muchos patrones; gana la primera coincidencia.
- Códigos de salidaCero es éxito, todo lo demás es falla, y && || enrutan según eso.
Bucles
- Bucles forTres formas: una lista de palabras, un contador estilo C, una secuencia generada.
- while readEl bucle línea por línea que procesa streams.
- Expansión de llavesEl shell genera cadenas antes de que nada corra.
Arreglos
- ArreglosListas de verdad, si las entrecomillas bien.
- Arreglos asociativosClaves de texto vía declare -A.
- Cortes de arreglosCortes, uniones e índices desde la sintaxis de expansión.
Funciones
- FuncionesArgumentos por posición, locales por declaración, resultados por echo.
- Sustitución de comandosLa salida de un comando, usada como valor.
- Argumentos del scriptQué hacen $@, $# y shift con una línea de comandos.
Tuberías y redirección
- Tuberías y filtrosHerramientas pequeñas compuestas en un solo stream.
- RedirecciónA dónde va la salida: archivos, appends, stderr y heredocs.
- Sustitución de procesosLa salida de un comando, haciendo las veces de archivo.
Herramientas de texto
Scripts y seguridad
- set -euo pipefailEl preludio de seguridad, y limpieza que corre siempre.
- getoptsParseo de flags a la manera integrada.
- mktemp y trapEspacio de trabajo privado que se limpia solo.
Bis
- log_summary.shUn triaje de logs en puro shell: categorías, rutas top, la cola lenta.
- backup_rotate.shConservar los tres respaldos más nuevos, borrar el resto, probarlo.