mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-03-12 12:35:25 -07:00
Created SC1007 (markdown)
parent
3e835df442
commit
35ca8bb923
28
SC1007.md
Normal file
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` ``
|
Loading…
x
Reference in New Issue
Block a user