Prevenir falhas comuns de scripts de shell com padrões de programação defensiva. Esta skill fornece modelos prontos para produção para tratamento de erros, validação de entrada e operações seguras com arquivos que protegem sua automação de casos extremos e falhas inesperadas.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "bash-defensive-patterns". Criar um script que rotaciona arquivos de log com mais de 7 dias com tratamento de erros
النتيجة المتوقعة:
O script incluirá: configuração de modo estrito (set -Eeuo pipefail), validação do diretório de log, comando find com tratamento adequado de erros, criação de arquivo compactado, operações atômicas de arquivos, armadilhas de limpeza para arquivos temporários e logging estruturado mostrando o progresso da rotação e quaisquer erros encontrados.
استخدام "bash-defensive-patterns". Build de um script de deployment com capacidade de rollback
النتيجة المتوقعة:
Script gerado apresenta: parsing de argumentos para flags de ambiente e versão, verificações de dependência pré-flight, backup do deployment atual antes das mudanças, troca de symlink atômica para deployment sem downtime, função de rollback para restaurar do backup, logging abrangente em cada etapa e manipuladores de erros que automaticamente acionam rollback em caso de falha.
استخدام "bash-defensive-patterns". Escrever um script que monitora processos e envia alertas
النتيجة المتوقعة:
O script de monitoramento inclui: verificação de saúde de processos usando kill -0, lista configurável de nomes de processos, configuração de limite de alerta, lógica de retry com backoff exponencial, placeholders de função de notificação (email/slack), tratamento de sinais para desligamento graceful, rastreamento de processos em segundo plano com array de PIDs e logging estruturado com timestamps para trilhas de auditoria.
التدقيق الأمني
آمن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 DevOps
Criar scripts de pipeline CI/CD com tratamento adequado de erros, logging e operações idempotentes que falham de forma segura e fornecem mensagens de erro claras.
Utilitários de Administração de Sistema
Build de scripts de manutenção que lidam com casos extremos, validam entradas e incluem manipuladores de limpeza para prevenir corrupção do sistema por falhas de automação.
Scripts de Ferramentas de Desenvolvimento
Escrever ferramentas de produtividade do desenvolvedor com parsing de argumentos, suporte a dry-run e logging abrangente para depurar problemas de produção.
جرّب هذه الموجهات
Criar um script Bash que faz backup de um diretório para um local de backup. Usar modo estrito, captura de erros e validar que ambos os diretórios existem antes de prosseguir.
Escrever um script Bash que aceita argumentos de arquivo de entrada/saída com flags --input e --output. Incluir validação de argumentos, texto de ajuda, logging estruturado e suportar modo dry-run.
Criar um script Bash que gerencia processos em segundo plano com manipuladores de sinais para desligamento graceful. Rastrear PIDs, implementar armadilhas de limpeza e tratar SIGTERM/SIGINT corretamente.
Escrever um script de setup Bash que cria diretórios, arquivos de configuração e serviços. Design para ser idempotente - seguro para executar múltiplas vezes sem causar recursos duplicados ou erros.
أفضل الممارسات
- Sempre ative o modo estrito com 'set -Eeuo pipefail' no início dos scripts para capturar erros cedo
- Cite todas as expansões de variáveis para prevenir problemas de word splitting e globbing
- Use [[ ]] ao invés de [ ] para condicionais para habilitar pattern matching mais seguro e prevenir word splitting inesperado
تجنب
- Não use variáveis sem aspas como 'cp $source $dest' - isso causa word splitting em nomes de arquivo com espaços
- Evite usar crases para substituição de comandos - prefira a sintaxe moderna '$()' para melhor aninhamento e legibilidade
- Nunca use 'set -e' sozinho sem entender pipefail - sempre use 'set -Eeuo pipefail' juntos para tratamento de erros completo
الأسئلة المتكررة
Por que esta skill recomenda modo estrito quando faz scripts terminarem em erros?
Posso usar esses padrões com POSIX sh ao invés de Bash?
Qual é a diferença entre [ ] e [[ ]] em condicionais?
Por que devo usar 'command -v' ao invés de 'which' para verificar comandos?
Como lidar com falhas de script que devem ser não-fatais?
O que é idempotência e por que ela importa para scripts de shell?
تفاصيل المطور
المؤلف
sickn33الترخيص
MIT
المستودع
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/bash-defensive-patternsمرجع
main
بنية الملفات