then for this if?if true
echo "foo"
elif true
echo "bar"
fiif true
then
echo "foo"
elif true
then
echo "bar"
fiShellCheck 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.
None
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.