Skip to main content

bash-pro

Enhances Bash scripting for production automation and CI/CD with a focus on safety, portability, and robust testing.

Install this skill

or
0/100

Security score

The bash-pro skill was audited on Mar 2, 2026 and we found 18 security issues across 2 threat categories, including 13 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

high line 64

Template literal with variable interpolation in command context

SourceSKILL.md
64- Validate inputs with `: "${VAR:?message}"` for required environment variables
high line 69

Template literal with variable interpolation in command context

SourceSKILL.md
69- Implement robust script directory detection: `SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"`
high line 113

Template literal with variable interpolation in command context

SourceSKILL.md
113- Validate environment variables before using: `: "${REQUIRED_VAR:?not set}"`
high line 120

Template literal with variable interpolation in command context

SourceSKILL.md
120- Use Bash built-ins over external commands: `[[ ]]` instead of `test`, `${var//pattern/replacement}` instead of `sed`
high line 148

Template literal with variable interpolation in command context

SourceSKILL.md
148- **Bash 5.0**: Associative array improvements, `${var@U}` uppercase conversion, `${var@L}` lowercase
high line 149

Template literal with variable interpolation in command context

SourceSKILL.md
149- **Bash 5.1**: Enhanced `${parameter@operator}` transformations, `compat` shopt options for compatibility
high line 151

Template literal with variable interpolation in command context

SourceSKILL.md
151- Check version before using modern features: `[[ ${BASH_VERSINFO[0]} -ge 5 && ${BASH_VERSINFO[1]} -ge 2 ]]`
high line 152

Template literal with variable interpolation in command context

SourceSKILL.md
152- Use `${parameter@Q}` for shell-quoted output (Bash 4.4+)
high line 153

Template literal with variable interpolation in command context

SourceSKILL.md
153- Use `${parameter@E}` for escape sequence expansion (Bash 4.4+)
high line 154

Template literal with variable interpolation in command context

SourceSKILL.md
154- Use `${parameter@P}` for prompt expansion (Bash 4.4+)
high line 155

Template literal with variable interpolation in command context

SourceSKILL.md
155- Use `${parameter@A}` for assignment format (Bash 4.4+)
high line 282

Template literal with variable interpolation in command context

SourceSKILL.md
282- **Parameter Expansion**: `${filename%.sh}` remove extension, `${path##*/}` basename, `${text//old/new}` replace all
high line 285

Template literal with variable interpolation in command context

SourceSKILL.md
285- **Co-processes**: `coproc proc { cmd; }; echo "data" >&"${proc[1]}"; read -u "${proc[0]}" result` for bidirectional pipes
low line 299

External URL reference

SourceSKILL.md
299- [Google Shell Style Guide](https://google.github.io/styleguide/shellguide.html) - Comprehensive style guide covering quoting, arrays, and when to use shell
low line 300

External URL reference

SourceSKILL.md
300- [Bash Pitfalls](https://mywiki.wooledge.org/BashPitfalls) - Catalog of common Bash mistakes and how to avoid them
low line 301

External URL reference

SourceSKILL.md
301- [Bash Hackers Wiki](https://wiki.bash-hackers.org/) - Comprehensive Bash documentation and advanced techniques
low line 302

External URL reference

SourceSKILL.md
302- [Defensive BASH Programming](https://www.kfirlavi.com/blog/2012/11/14/defensive-bash-programming/) - Modern defensive programming patterns
low line 309

External URL reference

SourceSKILL.md
309- [bashly](https://bashly.dannyb.co/) - Modern Bash CLI framework generator
Scanned on Mar 2, 2026
View Security Dashboard
Installation guide →