All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.l10n.shellcheck.rules.shellcheck.SC2209.html Maven / Gradle / Ivy

The newest version!

Use var=$(command) to assign output (or quote to assign string).

Problematic code

user=whoami         # Want to run whoami and assign output

PAGER=cat git log   # Want to assign the string "cat"

Correct code

user=$(whoami)

PAGER="cat" git log

Rationale

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.

Exceptions

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*.

Related resources





© 2015 - 2025 Weber Informatics LLC | Privacy Policy