SC2037 – ShellCheck Wiki

See this page on GitHub


To assign the output of a command, use var=$(cmd) .

Problematic code:

var=grep -c pattern file

Correct code:

var=$(grep -c pattern file)


To assign the output of a command to a variable, use $(command substitution). Just typing a command after the = sign does not work.



This warning triggers generally for var=value -flag and var=value *glob*. See related warning SC2209 which matches var=commonCommand.

ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.