Certificate
Earn the bash certificate by passing the exam and shipping a script-suite repo.
Certificate outline
EXAMPLE
# Bash certificate - outline
## Part 1 - exam (45 min)
Topics:
- Strict mode and traps
- Quoting + expansion (single vs double; \${var:-default})
- Pipes, redirection, process substitution, here-docs
- getopts for tools that another person should use
- bats-core test fundamentals
- ShellCheck rule families and when to suppress
- systemd timer or cron - choosing and writing one
Passing mark: 70 percent.
## Part 2 - tool suite (take-home, ~6 hours)
Ship a small CLI suite (3-5 commands) - your choice of theme:
- deploy.sh: build, ship to a target, tag the release
- restore.sh: pull a backup and restore into a sandbox
- audit.sh: lint, vet, scan; write a report
Requirements:
- set -Eeuo pipefail in every script
- getopts with usage()
- Logs to stderr; data to stdout
- bats-core tests covering happy path + at least three failure cases
- ShellCheck in CI (GitHub Actions); pipeline blocks on any warning
Submit a Git repo + README + a one-page design note.
## Grading
- Correctness (30 percent)
- Robustness under failure (25 percent)
- Tests + ShellCheck (25 percent)
- Documentation (20 percent)
## Tips
- Reach for jq for JSON; awk + sed only for text
- Reach for Python past 200 lines - bash is not a programming language at that scale
- Document exit codes; consumers will eventually script around your tool
Why it matters
A bash certificate is meaningful only when the tools survive production cron. Tests + ShellCheck + clean exits + readable usage are the difference between hobby script and shippable tool.
Tip: Tweak the snippet with Try it Yourself », then sit the quiz at the bottom of the page.
Discussion
Loading…