1
0
mirror of https://github.com/koalaman/shellcheck.git synced 2025-03-12 12:35:25 -07:00

Created SC1007 (markdown)

koalaman 2014-02-12 18:45:39 -08:00
parent 3e835df442
commit 35ca8bb923

28
SC1007.md Normal file

@ -0,0 +1,28 @@
# Remove space after = if trying to assign a value (or for empty string, use var='' ... ).
### Problematic code:
# I want programs to show text in dutch!
LANGUAGE= nl
# I want to run the nl command with English error messages!
LANGUAGE= nl
### Correct code:
# I want programs to show text in dutch!
LANGUAGE=nl
# I want to run the nl command with English error messages!
LANGUAGE='' nl
### Rationale:
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).
### Contraindications
If you're familiar with this behavior and feel that the explicit version is unnecessary, you can ignore the message. ``alias shellcheck=`shellcheck -e SC1007` ``