Bash

Use when: write or review robust shell scripts that fail fast and handle paths and input safely.

kimtth 479744e 981 B Updated

File contents

Goal: shell scripts that are safe, portable, and fail loudly.

Use for:

  • automation, CI steps, and glue scripts
  • reviewing fragile or unsafe shell code
  • hardening scripts against edge cases

Workflow:

  1. Start with set -euo pipefail for strict failure.
  2. Quote every variable expansion: "$var", "${arr[@]}".
  3. Check for required commands and inputs up front.
  4. Use functions and local variables for structure.
  5. Prefer printf over echo for predictable output.
  6. Verify with shellcheck and a dry run.

Idioms:

  • "${var:-default}" for fallbacks
  • [[ ... ]] over [ ... ] for tests
  • trap for cleanup on exit
  • mktemp for temporary files

Rules:

  • always quote expansions to survive spaces and globs
  • set -euo pipefail unless you have a reason not to
  • validate inputs before destructive actions
  • run shellcheck; treat its findings as real bugs

kimtth/agent-skill-100-lines-or-less/tree/main/skills/bash commit 479744e529

Frequently asked questions

npx skillmds@latest add kimtth/bash