Bash
Purpose
Consistent, safe shell scripting practices.
Core Principles
- •Predictable execution, fail fast
- •Quote to prevent word splitting
- •Explicit checks over assumptions
Rules
Safety
- •
set -euo pipefailunless different needed - •Quote all variable expansions:
"${var}" - •Validate inputs and required commands
Structure
- •Functions w/ clear names
- •
readonlyfor constants - •Log key steps/errors
Portability
- •Avoid non-portable flags unless env fixed
- •Doc shell version & dependencies
Examples
✅ Quote paths, check exit codes for critical steps ❌ Unquoted vars, ignore failures
Edge Cases
- •Destructive ops: dry-run flags or confirmation prompts
- •Long tasks: timeouts, progress logs
See COMMON.md for naming/refs.