Treat Bash as glue, not the place you let an LLM write decision logic.
Treat Bash as glue, not the place you let an LLM write decision logic. Bash is excellent at launching tools and wiring streams, but its expansion pipeline and subshell semantics make branching, parsing, retries, and stateful workflows fragile when generated by an agent. Move that logic into TypeScript, .NET, or another typed language with tests and clearer failure modes, and keep shell scripts as thin launchers that receive explicit arguments and emit structured output. The rule: if you need branches, retries, or durable state, write code where types and tests can catch it.
Bash Isn't a Programming Language. It's a Text Substitution Engine.
#AI #Tests
All posts