Pattern: Indentation before <<
token
Issue: -
The here-document delimiter will not be recognized if it is indented.
You can fix it in one of two ways:
- Simply remove the indentation, even though this may break formatting.
- 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 it's reformatted, copy-pasted, or saved with a different editor.
Example of incorrect code:
for f in *.png
do
cat << EOF
<img src="$f" /><br/>
EOF
done > index.html
Example of correct code:
for f in *.png
do
cat << EOF
<img src="$f" /><br/>
EOF
done > index.html
If the line was supposed to be a literal part of the here-document, consider choosing a less ambiguous token.