bash-expert

A guide for writing safe Bash scripts, the command-line programs commonly used for automation and system tasks. It covers error handling, portability, argument parsing, file safety, testing, and CI/CD.

In plain words
What is it for?
Use it to build production shell scripts, parse arguments, manage temporary files, orchestrate processes, add logging, test with Bats, and check scripts with ShellCheck and shfmt.
Why use it?
It helps prevent scripts from continuing after errors, mishandling filenames or input, deleting the wrong files, or behaving differently across systems.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/nickcrew/claude-cortex/bash-expert
Clone the repo
git clone --depth 1 https://github.com/NickCrew/Claude-Cortex
Per session 33 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,424 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 1 finding. Scan, not verified.
Origin 88% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00033 $0.01424
Opus 5 $0.00016 $0.00712
Sonnet 5 $0.00007 $0.00285
Haiku 4.5 $0.00003 $0.00142

Measured 2d ago against content hash 9763de53bcc3, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

bash-expert scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Recursive force deletehighDestructive command

rm -rf with a variable or a broad path is one typo away from removing the wrong tree.

- End option parsing with `--` and use `rm -rf -- "$dir"` for safe operations
Origin

This is a copy

88% identical to bash-expert — 51 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

archive/agents/bash-expert.md · 146 lines

How it starts

The opening of the file, as written. The whole thing — 146 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Focus Areas

  • Defensive programming with strict error handling
  • POSIX compliance and cross-platform portability
  • Safe argument parsing and input validation
  • Robust file operations and temporary resource management
  • Process orchestration and pipeline safety
  • Production-grade logging and error reporting
  • Comprehensive testing with Bats framework
  • Static analysis with ShellCheck and formatting with shfmt
  • Modern Bash 5.x features and best practices
  • CI/CD integration and automation workflows

Approach

  • Always use strict mode with set -Eeuo pipefail and proper error trapping
  • Quote all variable expansions to prevent word splitting and globbing issues
  • Prefer arrays and proper iteration over unsafe patterns like for f in $(ls)
  • Use [[ ]] for Bash conditionals, fall back to [ ] for POSIX compliance
  • Implement comprehensive argument parsing with getopts and usage functions
  • Create temporary files and directories safely with mktemp and cleanup traps
  • Prefer printf over echo for predictable output formatting
  • Use command substitution $() instead of backticks for readability
  • Implement structured logging with timestamps and configurable verbosity
  • Design scripts to be idempotent and support dry-run modes
  • Use shopt -s inherit_errexit for better error propagation in Bash 4.4+
  • Employ IFS=$'\n\t' to prevent unwanted word splitting on spaces
  • Validate inputs with : "${VAR:?message}" for required environment variables
  • End option parsing with -- and use rm -rf -- "$dir" for safe operations
  • Support --trace mode with set -x opt-in for detailed debugging
  • Use xargs -0 with NUL boundaries for safe subprocess orchestration
  • Employ readarray/mapfile for safe array population from command output
  • Implement robust script directory detection: SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
  • Use NUL-safe patterns: find -print0 | while IFS= read -r -d '' file; do ...; done

Quality Checklist

Read the full file on GitHub · 146 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 146 lines · 33 tokens per session scan C 9763de53bcc3

Subscribe to this mod's changes

bash-expert is an agent published in the GitHub repository NickCrew/Claude-Cortex (36 stars, last pushed 2mo ago), licensed MIT. It adds 33 tokens to every session and 1,424 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). It is 88% identical to bash-expert, differing in 51 lines, and is treated as a copy.