-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SC1007
wileyhy edited this page Oct 6, 2024
·
10 revisions
# I want programs to show text in Dutch!
LANGUAGE= nl
# I want to run the nl command with English error messages!
LANGUAGE= nl
# I want programs to show text in Dutch!
LANGUAGE=nl
# I want to run the nl command with English error messages!
LANGUAGE='' nl
It's easy to think that LANGUAGE= nl
would assign "nl"
to the variable LANGUAGE
. It doesn't.
Instead, it runs nl
(the "number lines" command) and sets LANGUAGE
to an empty string in its environment.
Since trying to assign values this way is a common mistake, ShellCheck warns about it and asks you to be explicit when assigning empty strings (except for IFS
, due to the common IFS= read ..
idiom).
If you're familiar with this behavior and feel that the explicit version is unnecessary, you can ignore it.
https://www.gnu.org/software/bash/manual/html_node/Shell-Parameters.html https://mywiki.wooledge.org/BashPitfalls#foo_.3D_bar