# Bash Defensive Patterns > Domina técnicas de programación defensiva en Bash para scripts de nivel producción: úsalo al escribir shell scripts robustos, pipelines CI/CD o utilidades de sistema que requieran tolerancia a fallos. Fuente: https://skillsagentes.com/skills/wshobson/agents/bash-defensive-patterns Markdown: https://skillsagentes.com/skills/wshobson/agents/bash-defensive-patterns.md Repositorio: https://github.com/wshobson/agents Autor: wshobson Licencia: MIT Actualizado: hace 4 meses Coste de contexto: 47 tok instalada, 498 tok al activarse, 2.9k tok con todos los archivos del bundle Bundle: 2 archivos, 11 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add wshobson/agents --skill bash-defensive-patterns --agent claude-code # Cursor npx -y skills add wshobson/agents --skill bash-defensive-patterns --agent cursor # Codex npx -y skills add wshobson/agents --skill bash-defensive-patterns --agent codex # Gemini CLI npx -y skills add wshobson/agents --skill bash-defensive-patterns --agent gemini # Windsurf npx -y skills add wshobson/agents --skill bash-defensive-patterns --agent windsurf # Cline npx -y skills add wshobson/agents --skill bash-defensive-patterns --agent cline ``` ## Qué hace - Aplica técnicas de programación defensiva en Bash: strict mode, comillas en variables, [[]], trampas de error - Añade manejo de errores robusto, validación de entradas y limpieza segura de archivos temporales con mktemp/trap - Incorpora logging estructurado, modo dry-run y diseño idempotente en los scripts - Remite a `references/details.md` para patrones detallados y ejemplos trabajados ## Cuándo usarla - Escribir scripts de automatización de producción - Construir scripts de pipelines CI/CD - Crear utilidades de administración de sistemas - Desarrollar scripts que deben manejar casos límite de forma segura ## Qué la activa - "Ayúdame a escribir un script de Bash robusto para mi pipeline de CI/CD" - "Necesito que este script de despliegue maneje errores correctamente" - "Revisa mi script de administración de sistema para hacerlo más seguro" ## Archivos - SKILL.md — 2 KB - references/details.md — 10 KB ## SKILL.md Reproducido tal cual desde wshobson/agents bajo MIT. Esta sección es el documento original y está en inglés. # Bash Defensive Patterns Comprehensive guidance for writing production-ready Bash scripts using defensive programming techniques, error handling, and safety best practices to prevent common pitfalls and ensure reliability. ## When to Use This Skill - Writing production automation scripts - Building CI/CD pipeline scripts - Creating system administration utilities - Developing error-resilient deployment automation - Writing scripts that must handle edge cases safely - Building maintainable shell script libraries - Implementing comprehensive logging and monitoring - Creating scripts that must work across different platforms ## Detailed patterns and worked examples Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient. ## Best Practices Summary 1. **Always use strict mode** - `set -Eeuo pipefail` 2. **Quote all variables** - `"$variable"` prevents word splitting 3. **Use [[]] conditionals** - More robust than [ ] 4. **Implement error trapping** - Catch and handle errors gracefully 5. **Validate all inputs** - Check file existence, permissions, formats 6. **Use functions for reusability** - Prefix with meaningful names 7. **Implement structured logging** - Include timestamps and levels 8. **Support dry-run mode** - Allow users to preview changes 9. **Handle temporary files safely** - Use mktemp, cleanup with trap 10. **Design for idempotency** - Scripts should be safe to rerun 11. **Document requirements** - List dependencies and minimum versions 12. **Test error paths** - Ensure error handling works correctly 13. **Use `command -v`** - Safer than `which` for checking executables 14. **Prefer printf over echo** - More predictable across systems ## Dónde encaja - Categoría: [DevOps e infraestructura](https://skillsagentes.com/categorias/devops-infraestructura.md) — Despliegues, contenedores, IaC y flujos de gestión de incidentes. - Creador: [wshobson](https://skillsagentes.com/creators/wshobson.md) — 183 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Hermes Tweet](https://skillsagentes.com/skills/wshobson/agents/hermes-tweet.md): Instala y opera Hermes Tweet, un plugin de Hermes Agent para investigar X/Twitter, leer timelines, analizar tweets y ejecutar operaciones privadas o de cambio de estado con aprobación previa. - [Grounded Vault](https://skillsagentes.com/skills/wshobson/agents/grounded-vault.md): Úsalo para mantener un almacén Markdown de conocimiento donde cada afirmación compilada se rastrea hasta una fuente inmutable y el drift se detecta con git diff sin gastar tokens. - [Postgresql Table Design](https://skillsagentes.com/skills/wshobson/agents/postgresql-table-design.md): Úsalo al diseñar o revisar un esquema específico de PostgreSQL: buenas prácticas, tipos de datos, indexación, restricciones, patrones de rendimiento y funciones avanzadas. - [Superself](https://skillsagentes.com/skills/wshobson/agents/superself.md): Úsalo cuando un proyecto guarda su estado en Superself: lee `self context` al iniciar sesión, vincula el trabajo a una work unit, reporta con evidencia y registra decisiones confirmadas. - [Prompt Engineering Patterns](https://skillsagentes.com/skills/wshobson/agents/prompt-engineering-patterns.md): Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción. ## Skills relacionadas - [Airflow Dag Patterns](https://skillsagentes.com/skills/wshobson/agents/airflow-dag-patterns.md): Construye DAGs de Apache Airflow listos para producción con buenas prácticas para operadores, sensores, testing y despliegue. - [Bazel Build Optimization](https://skillsagentes.com/skills/wshobson/agents/bazel-build-optimization.md): Optimiza builds de Bazel en monorepos a gran escala. Úsalo al configurar Bazel, implementar ejecución remota u optimizar el rendimiento de builds en codebases empresariales. - [Block No Verify Hook](https://skillsagentes.com/skills/wshobson/agents/block-no-verify-hook.md): Configura un hook PreToolUse para impedir que los agentes de IA salten los pre-commit hooks de git con --no-verify y otros flags de bypass. - [Cost Optimization](https://skillsagentes.com/skills/wshobson/agents/cost-optimization.md): Optimiza costos en la nube en AWS, Azure, GCP y OCI mediante rightsizing, tagging, instancias reservadas y análisis de gasto; para reducir gastos o implementar gobernanza de costos. - [Deployment Pipeline Design](https://skillsagentes.com/skills/wshobson/agents/deployment-pipeline-design.md): Diseña pipelines CI/CD multi-etapa con gates de aprobación, verificaciones de seguridad y orquestación de despliegues, incluyendo canary, rollback y depuración de gates fallidos. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)