Prévenez les erreurs courantes de scripts shell grâce à des modèles de programmation défensive. Cette compétence fournit des modèles prêts pour la production pour la gestion des erreurs, la validation des entrées et les opérations de fichiers sécurisées qui protègent votre automatisation des cas limites et des échecs imprévus.
下載技能 ZIP
在 Claude 中上傳
前往 設定 → 功能 → 技能 → 上傳技能
開啟並開始使用
測試它
正在使用「bash-defensive-patterns」。 Créer un script qui fait tourner les fichiers de log de plus de 7 jours avec gestion des erreurs
預期結果:
Le script inclura : configuration du mode strict (set -Eeuo pipefail), validation du répertoire de logs, commande find avec gestion des erreurs appropriée, création d'archives compressées, opérations atomiques de fichiers, traps de nettoyage pour les fichiers temporaires, et journalisation structurée montrant la progression de la rotation et toutes les erreurs rencontrées.
正在使用「bash-defensive-patterns」。 Construire un script de déploiement avec capacité de rollback
預期結果:
Le script généré comporte : analyse des arguments pour les drapeaux d'environnement et de version, vérifications préliminaires des dépendances, création d'une sauvegarde du déploiement actuel avant les modifications, commutation atomique par symlink pour un déploiement sans temps d'arrêt, fonction de rollback pour restaurer depuis la sauvegarde, journalisation complète à chaque étape, et gestionnaires d'erreurs qui déclenchent automatiquement le rollback en cas d'échec.
正在使用「bash-defensive-patterns」。 Écrire un script qui surveille les processus et envoie des alertes
預期結果:
Le script de surveillance inclut : vérification de santé des processus utilisant kill -0, liste configurable de noms de processus, configuration des seuils d'alerte, logique de retry avec backoff exponentiel, emplacements de fonction de notification (email/slack), gestion des signaux pour un arrêt gracieux, suivi des processus en arrière-plan avec un tableau de PIDs, et journalisation structurée avec horodatages pour les pistes d'audit.
安全審計
安全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
Créez des scripts de pipeline CI/CD avec une gestion des erreurs appropriée, une journalisation et des opérations idempotentes qui échouent de manière sécurisée et fournissent des messages d'erreur clairs.
Utilitaires d'administration système
Construisez des scripts de maintenance qui gèrent les cas limites, valident les entrées et incluent des gestionnaires de nettoyage pour prévenir la corruption du système causée par des échecs d'automatisation.
Scripts d'outils de développement
Écrivez des outils de productivité pour développeurs avec analyse des arguments, support dry-run et journalisation complète pour le débogage des problèmes en production.
試試這些提示
Crée un script Bash qui sauvegarde un répertoire vers un emplacement de sauvegarde. Utilise le mode strict, la gestion des erreurs, et valide que les deux répertoires existent avant de continuer.
Écris un script Bash qui accepte des arguments de fichiers d'entrée/sortie avec les drapeaux --input et --output. Inclus la validation des arguments, le texte d'aide, la journalisation structurée, et le support du mode dry-run.
Crée un script Bash qui gère les processus en arrière-plan avec des gestionnaires de signaux pour un arrêt gracieux. Suit les PIDs, implémente des traps de nettoyage, et gère correctement SIGTERM/SIGINT.
Écris un script de configuration Bash qui crée des répertoires, des fichiers de configuration et des services. Conçois-le pour être idempotent - sûr d'exécuter plusieurs fois sans créer de ressources dupliquées ou d'erreurs.
最佳實務
- Toujours activer le mode strict avec 'set -Eeuo pipefail' au début des scripts pour détecter les erreurs rapidement
- Citer toutes les extensions de variables pour prévenir les problèmes de division de mots et de globbing
- Utiliser [[ ]] au lieu de [ ] pour les conditions afin d'activer une correspondance de motifs plus sûre et prévenir la division de mots inattendue
避免
- Ne pas utiliser de variables non citées comme 'cp $source $dest' - cela provoque une division de mots sur les noms de fichiers contenant des espaces
- Éviter d'utiliser des backticks pour la substitution de commande - préférer la syntaxe moderne '$()' pour un meilleur imbrication et lisibilité
- Ne jamais utiliser 'set -e' seul sans comprendre pipefail - toujours utiliser 'set -Eeuo pipefail' ensemble pour une gestion complète des erreurs