The script contains a heredoc, which is <<-HELP
. It allows you to include literal strings between two identifiers. This identifier is specified after the <<
, and it's HELP
.
In the script you have, there's a special syntax element with a -
between <<
and the identifier. It allows the identifier to be recognized even if it's indented by tabs, so you could write:
cat <<-HELP some indented text ___HELP
Here, ___
would be a tab. Now, in your case, it's probably indented by multiple spaces, which is why the end of the heredoc isn't found.
There are two solutions for this:
- Change your indentation from spaces to tabs.
- Move the
HELP
identifier to the start of the line.
If you use an editor with proper syntax highlighting (or one that shows spaces vs. tabs), you should see this error: