var=$(command)
to assign output (or quote to assign
string).user=whoami # Want to run whoami and assign output
PAGER=cat git log # Want to assign the string "cat"
user=$(whoami)
PAGER="cat" git log
Putting var=
in front of a command will not assign its
output. Use var=$(my command here)
to execute the command
and capture its output.
If you do want to assign a literal string, use quotes to make this clear to shellcheck and humans alike.
None.
Quoting a single command (as in PAGER="cat"
above)
doesn't change how the script works. It's purely to show shellcheck (and
humans) that a literal assignment of a command name is intentional.
This warning triggers generally when a variable is assigned an
unquoted command name (from a list of hard coded names). See related
warning SC2037 which detects the same kind of error
through the patterns var=value -flag
and
var=value *glob*
.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.