bash-defensive-patterns
Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.
How to use
Zainstaluj umiejętność w swoim środowisku agenta, dodając ją do dostępnych pluginów shell-scripting.
Na początku każdego skryptu bash, który piszesz, włącz strict mode poleceniem
set -Eeuo pipefail. To natychmiast wyłapie błędy: wyjście na pierwszy błąd, referencje do niezdefiniowanych zmiennych, i awarie w potokach poleceń.Dodaj obsługę błędów za pomocą
trap. Zdefiniuj co najmniej dwie pułapki: jedną na ERR (aby wypisać numer linii błędu) i jedną na EXIT (aby posprzątać pliki tymczasowe i zasoby).Zawsze cytuj zmienne w kodzie — zamiast
cp $source $destpiszcp "$source" "$dest". To zapobiega podziałowi słów i rozwinięciu globów, które mogą zniszczyć Twoje dane.Dla zmiennych wymaganych, które muszą być ustawione, użyj sprawdzenia
: "${REQUIRED_VAR:?REQUIRED_VAR is not set}"na początku skryptu — skrypt się zatrzyma z jasnym komunikatem, jeśli zmienna brakuje.Przy pracy z tablicami i złożonymi danymi, używaj deklaracji tablic i bezpiecznej iteracji — umiejętność pokazuje przykłady, które chronią Cię przed błędami przy obsłudze danych zawierających spacje i znaki specjalne.