技能 bash-pro
📦

bash-pro

安全

Écrire des scripts Bash prêts pour la production

L'écriture de scripts Bash sûrs et testables pour l'automatisation nécessite des patterns de programmation défensive. Cette compétence fournit une guidance d'expert sur la gestion stricte des erreurs, la validation sécurisée des entrées, les tests avec Bats, et l'intégration CI/CD.

支援: Claude Codex Code(CC)
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「bash-pro」。 Write a script that backs up a directory with timestamped archives

預期結果:

A complete Bash script with: set -Eeuo pipefail strict mode, getopts for -s (source) -d (destination) -h (help), timestamped backup filenames, tar with proper error handling, cleanup trap for temp files, dry-run mode with DRY_RUN variable, and comprehensive --help output

正在使用「bash-pro」。 Create a script to monitor disk usage and alert when above threshold

預期結果:

A monitoring script with: df command parsing, threshold validation, structured logging with timestamps, syslog integration, graceful handling of missing commands, and configurable alert levels via environment variables

安全審計

安全
v1 • 2/25/2026

This is a prompt-only skill that provides guidance on defensive Bash scripting. Static analysis scanned 0 files (0 lines) and detected no suspicious patterns or risk factors. The skill contains no executable code and only provides instructional content for writing safe, production-grade shell scripts. No command injection, credential access, or malicious patterns detected.

0
已掃描檔案
0
分析行數
0
發現項
1
審計總數
未發現安全問題
審計者: claude

你能建構什麼

Ingénieur DevOps créant des scripts CI/CD

Créer des scripts de déploiement et de construction robustes qui gèrent les erreurs avec élégance, nettoient les ressources temporaires et s'intègrent à GitHub Actions pour les tests automatisés.

Développeur écrivant des utilitaires système

Construire des outils en ligne de commande avec une documentation d'aide appropriée, une validation des arguments et une journalisation permettant une utilisation sûre en environnement de production.

Ingénieur SRE examinant des scripts shell

Auditer les scripts Bash existants pour les vulnérabilités de sécurité, les problèmes de portabilité et la conformité aux meilleures pratiques en utilisant ShellCheck et des patterns de programmation défensive.

試試這些提示

Génération de script de base
Write a Bash script that [describe the task]. Include strict mode, argument parsing with getopts, proper error handling, and a --help option.
Configuration de pipeline CI/CD
Create a GitHub Actions workflow that lints Bash scripts with ShellCheck, formats with shfmt, and runs Bats tests. Include matrix testing across multiple Bash versions.
Traitement sécurisé de fichiers
Write a Bash script that safely processes files from user input. Include proper quoting, temp file cleanup with traps, input validation, and NUL-safe file handling.
Examen de durcissement pour la production
Review this Bash script for security issues, error handling gaps, and portability problems. Identify specific ShellCheck warnings and provide fixes:

[paste script here]

最佳實務

  • Always enable strict mode at script start: set -Eeuo pipefail to catch errors and undefined variables
  • Quote all variable expansions: use "$var" not $var to prevent word splitting and globbing
  • Use traps for cleanup: trap 'rm -rf "$tmpdir"' EXIT ensures temp files are always removed

避免

  • Using for f in $(ls ...) - causes word splitting bugs; use find with -print0 and read -r -d '' instead
  • Ignoring exit codes with | pipefail disabled - always check set -o pipefail and verify critical command exits
  • Using eval on user input - severe security risk; use arrays for dynamic command construction instead

常見問題

Qu'est-ce que le mode strict en Bash ?
Strict mode est un ensemble d'options Bash (set -Eeuo pipefail) qui force le shell à quitter en cas d'erreurs, de variables non définies et d'échecs de pipes. Il prévient les échecs silencieux et rend les scripts plus fiables.
Pourquoi devrais-je utiliser getopts au lieu de l'analyse manuelle des arguments ?
getopts est un utilitaire intégré Bash qui gère correctement l'analyse des arguments, prend en charge les options courtes (-f) et longues (--file), et prévient les bugs courants de l'analyse manuelle.
Comment tester les scripts Bash ?
Utilisez le framework Bats (Bash Automated Testing System) pour écrire des tests unitaires. Bats fournit un format de test compatible TAP similaire à RSpec ou Jest pour les scripts shell.
Qu'est-ce que ShellCheck ?
ShellCheck est un outil d'analyse statique qui détecte les bugs, les problèmes de portabilité et les problèmes de sécurité dans les scripts shell. Il doit être exécuté sur tous les scripts Bash de production.
Pourquoi utiliser mktemp et les traps ?
mktemp crée des fichiers temporaires sûrs avec des noms imprévisibles. Les traps garantissent que le code de nettoyage s'exécute même lorsque le script quitte de manière inattendue, prévenant les fichiers temporaires orphelins.
Comment rendre les scripts portables entre Linux et macOS ?
Utilisez le shebang #!/usr/bin/env bash, vérifiez les différences entre les outils GNU et BSD (comportement sed -i), testez sur toutes les plateformes cibles, et évitez les fonctionnalités spécifiques à Bash lorsque la conformité POSIX est nécessaire.

開發者詳情

檔案結構

📄 SKILL.md