Created SC1039 (markdown)

koalaman
2018-01-10 10:10:55 -08:00
parent 433e5c2331
commit 951073b74d

37
SC1039.md Normal file

@@ -0,0 +1,37 @@
## Remove indentation before end token (or use `<<-` and indent with tabs).
### Problematic code:
```sh
for f in *.png
do
cat << EOF
<img src="$f" /><br/>
EOF
done > index.html
```
### Correct code:
```sh
for f in *.png
do
cat << EOF
<img src="$f" /><br/>
EOF
done > index.html
```
### Rationale:
The here document delimiter will not be recognized if it is indented.
You can fix it in one of two ways:
1. Simply remove the indentation, even though this may break formatting.
2. Use `<<-` instead of `<<`, and indent the script with tabs only (spaces will not be recognized).
Removing the indentation is preferred, since the script won't suddenly break if the script is reformatted, copy-pasted, or saved with a different editor.
### Exceptions:
If the line was supposed to be a literal part of the here document, consider choosing a less ambiguous token.