● runs entirely in your browser

Bash Script Linter

Paste a bash script to catch common footguns — unquoted variables, missing set -e, backticks instead of $(), unchecked cd. A lightweight pattern-based check, not a full ShellCheck replacement. Nothing is ever uploaded.

How it works

The linter runs a set of regex-based pattern checks against the pasted script rather than actually parsing bash syntax. It first strips quoted strings and comments out of each line so checks don't false-positive on text that only looks risky inside a string, then flags things like backtick command substitution, rm -rf on an unquoted variable, unquoted variables inside single-bracket [ ] tests, cd without failure handling, and a missing set -e.

FAQ

Is this a full replacement for ShellCheck?
No — it's a lightweight, pattern-based check for a handful of common footguns, not a real shell parser. ShellCheck actually parses bash syntax and catches far more; this tool is meant as a quick sanity pass, not a substitute.
Why did it flag my script for missing "set -e" even though it runs fine?
set -e stops a script at the first failing command instead of continuing on with bad state — the check is a best-practice warning about resilience to future failures, not a sign that anything is currently broken.

Free, unlimited, no account. If this saved you a paid tool, a small thanks is appreciated.

Say thanks — $3