bash-pro
Master of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities. Expert in safe, portable, and testable shell scripts.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Master of defensive Bash scripting for production automation, CI/CD pipelines, and system utilities. Expert in safe, portable, and testable shell scripts.
How to use
Zdefiniuj wejścia, wyjścia i scenariusze awarii skryptu – jasno określ, co skrypt powinien robić i jak ma się zachowywać w przypadku błędów.
Zastosuj tryb ścisły, dodając na początku skryptu
set -Eeuo pipefaili ustaw pułapkę na błędy za pomocątrap. Wszystkie rozwinięcia zmiennych ujmij w cudzysłowy, aby uniknąć podziału słów i niebezpiecznych rozszerzeń globu.Implementuj logikę jądra ze wzorcami defensywnymi – używaj
[[ ]]dla warunków Bash'a, preferuj tablice zamiast niebezpiecznych wzorców jakfor f in $(ls), a do plików tymczasowych użyjmktempz czyszczeniem przez trap.Dodaj kompleksowe parsowanie argumentów za pomocą
getoptsi funkcji użytkownika, traktując wszystkie dane wejściowe jako niezaufane – unikajevali niebezpiecznego globu.Przetestuj skrypt za pomocą frameworku Bats, aby pokryć przypadki normalne i błędne. Uruchom statyczną analizę z ShellCheck i formatowanie shfmt, aby upewnić się, że kod jest czysty i przenośny.
Zintegruj skrypt z potokiem CI/CD, implementując produkcyjne logowanie i raportowanie błędów – zawsze oferuj tryb dry-run przed akcjami destrukcyjnymi.