Bashstyle is an opinionated style guide for writing maintainable Bash programs and command-line tools. It treats Bash as a practical systems glue language and focuses specifically on Bash rather than generic POSIX shell portability. Major rules include quoting variable expansions, putting executable logic inside functions, using a clear main entry point, and keeping variables local whenever possible. Scripts are encouraged to fail quickly with set -eo pipefail and to use modern constructs such as [[ ]] and $( ). The guide also covers temporary files, cleanup traps, stdout and stderr conventions, variable naming, path handling, and conditional style. Additional recommendations encourage simple command interfaces, descriptive functions, controlled shell options, and awareness of portability requirements. Examples demonstrate how the rules look in real scripts.
Features
- Consistent variable quoting rules
- Function-based Bash program structure
- Main entry point and local variable conventions
- Fail-fast error and pipeline handling
- Modern Bash conditional and substitution syntax
- Temporary file, output, portability, and cleanup guidance