Previene fallos comunes en scripts de shell con patrones de programación defensiva. Esta habilidad proporciona plantillas listas para producción para manejo de errores, validación de entrada y operaciones de archivos seguras que protegen tu automatización contra casos extremos y fallos inesperados.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "bash-defensive-patterns". Crea un script que rote archivos de registro de más de 7 días con manejo de errores
النتيجة المتوقعة:
El script incluirá: configuración de modo estricto (set -Eeuo pipefail), validación del directorio de registros, comando find con manejo adecuado de errores, creación de archivos comprimidos, operaciones atómicas de archivos, traps de limpieza para archivos temporales y registro estructurado que muestra el progreso de la rotación y cualquier error encontrado.
استخدام "bash-defensive-patterns". Construye un script de despliegue con capacidad de reversión
النتيجة المتوقعة:
Características del script generado: análisis de argumentos para opciones de entorno y versión, verificaciones previas de dependencias, creación de copia de seguridad del despliegue actual antes de los cambios, cambio de enlaces simbólicos atómicos para despliegue sin tiempo de inactividad, función de reversión para restaurar desde la copia de seguridad, registro exhaustivo en cada paso y manejadores de errores que activan automáticamente la reversión en caso de fallo.
استخدام "bash-defensive-patterns". Escribe un script que monitoree procesos y envíe alertas
النتيجة المتوقعة:
El script de monitoreo incluye: verificación de salud de procesos usando kill -0, lista configurable de nombres de procesos, configuración de umbrales de alerta, lógica de reintento con retroceso exponencial, marcadores de posición para funciones de notificación (email/slack), manejo de señales para apagado elegante, rastreo de procesos en segundo plano con array de PIDs y registro estructurado con marcas de tiempo para auditoría.
التدقيق الأمني
آمنAll 106 static findings are false positives. The skill contains only markdown documentation with code examples demonstrating defensive Bash programming techniques. Command execution patterns, cryptographic references, and file operations are educational examples showing SAFE practices, not executable code. No prompt injection or malicious intent detected.
ماذا يمكنك بناءه
Scripts de Pipeline de DevOps
Crea scripts de pipeline CI/CD con manejo de errores, registro y operaciones idempotentes que fallan de manera segura y proporcionan mensajes de error claros.
Utilidades de Administración de Sistemas
Construye scripts de mantenimiento que manejan casos extremos, validan entradas e incluyen manejadores de limpieza para prevenir la corrupción del sistema por fallos de automatización.
Scripts de Herramientas de Desarrollo
Escribe herramientas de productividad para desarrolladores con análisis de argumentos, soporte de ejecución en seco y registro exhaustivo para depurar problemas de producción.
جرّب هذه الموجهات
Crea un script de Bash que haga una copia de seguridad de un directorio en una ubicación de respaldo. Usa modo estricto, captura de errores y valida que ambos directorios existan antes de continuar.
Escribe un script de Bash que acepte argumentos de archivos de entrada/salida con las opciones --input y --output. Incluye validación de argumentos, texto de ayuda, registro estructurado y soporte para modo de ejecución en seco.
Crea un script de Bash que gestione procesos en segundo plano con manejadores de señales para apagado elegante. Rastrea los PIDs, implementa traps de limpieza y maneja SIGTERM/SIGINT correctamente.
Escribe un script de configuración de Bash que cree directorios, archivos de configuración y servicios. Diseñalo para que sea idempotente: seguro de ejecutar múltiples veces sin causar recursos duplicados ni errores.
أفضل الممارسات
- Always enable strict mode with 'set -Eeuo pipefail' at the start of scripts to catch errors early
- Quote all variable expansions to prevent word splitting and globbing issues
- Use [[ ]] instead of [ ] for conditionals to enable safer pattern matching and prevent unexpected word splitting
تجنب
- Do not use unquoted variables like 'cp $source $dest' - this causes word splitting on filenames with spaces
- Avoid using backticks for command substitution - prefer the modern '$()' syntax for better nesting and readability
- Never use 'set -e' alone without understanding pipefail - always use 'set -Eeuo pipefail' together for complete error handling
الأسئلة المتكررة
¿Por qué esta habilidad recomienda el modo estricto cuando hace que los scripts se exitan en los errores?
¿Puedo usar estos patrones con POSIX sh en lugar de Bash?
¿Cuál es la diferencia entre [ ] y [[ ]] en los condicionales?
¿Por qué debo usar 'command -v' en lugar de 'which' para verificar comandos?
¿Cómo manejo fallos de script que deberían ser no fatales?
¿Qué es la idempotencia y por qué es importante para los scripts de shell?
تفاصيل المطور
المؤلف
sickn33الترخيص
MIT
المستودع
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bash-defensive-patternsمرجع
main
بنية الملفات