Summary
The daily quality sweep (2026-03-25) identified 9 ShellCheck findings across 6 shell scripts. These are tracked as quality-debt in issue #400.
Findings
Errors (3)
bin/deploy.sh:SC2015 — A && B || C is not if-then-else; C may run when A is true
bin/docker-up.sh:SC2181 — Check exit code directly with if ! mycmd;, not indirectly with $?
bin/mailpit.sh:SC2275 — Command name starts with =. Bad line break?
Warnings (6)
bin/docker-down.sh:SC2148 — Add a shebang or a shell directive
bin/install-wp-tests.sh:SC2086 — Double quote to prevent globbing and word splitting
bin/install-wp-tests.sh:SC2046 — Quote this to prevent word splitting
bin/install-wp-tests.sh:SC2006 — Use $() notation instead of legacy backticks
inc/site-exporter/mu-migration/bin/test.sh:SC2086 — Double quote to prevent globbing and word splitting
setuptest.sh:SC2148 — Add a shebang or a shell directive
setuptest.sh:SC2086 — Double quote to prevent globbing and word splitting
Acceptance Criteria
Summary
The daily quality sweep (2026-03-25) identified 9 ShellCheck findings across 6 shell scripts. These are tracked as quality-debt in issue #400.
Findings
Errors (3)
bin/deploy.sh:SC2015—A && B || Cis not if-then-else; C may run when A is truebin/docker-up.sh:SC2181— Check exit code directly withif ! mycmd;, not indirectly with$?bin/mailpit.sh:SC2275— Command name starts with=. Bad line break?Warnings (6)
bin/docker-down.sh:SC2148— Add a shebang or ashelldirectivebin/install-wp-tests.sh:SC2086— Double quote to prevent globbing and word splittingbin/install-wp-tests.sh:SC2046— Quote this to prevent word splittingbin/install-wp-tests.sh:SC2006— Use$()notation instead of legacy backticksinc/site-exporter/mu-migration/bin/test.sh:SC2086— Double quote to prevent globbing and word splittingsetuptest.sh:SC2148— Add a shebang or ashelldirectivesetuptest.sh:SC2086— Double quote to prevent globbing and word splittingAcceptance Criteria
shellcheck bin/*.sh setuptest.sh inc/site-exporter/mu-migration/bin/test.shto verify)