SC1049 – ShellCheck Wiki

See this page on GitHub

Sitemap


Did you forget the then for this if?

Problematic code:

if true
  echo "foo"
elif true
  echo "bar"
fi

Correct code:

if true
then
  echo "foo"
elif true
then
  echo "bar"
fi

Rationale:

ShellCheck found a parsing error in the script, and determined that it's most likely due to a missing then keyword for the if or elif indicated.

Make sure the then is there.

Note that the then needs a ; or linefeed before it. if true then is invalid, while if true; then is correct.

Exceptions:

None


ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.