iwantcoding.com
🔥 Daily 👥 Rooms 🏆 Top Log in Sign up

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.

Example

Example
# /certificate/linux-bash
Try it Yourself »

Discussion

Loading…