Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 3 revisions

Couldn't find fi for this if.

Problematic code:

if true
then
  echo "True"
done

Correct code:

if true
then
  echo "True"
fi

Rationale:

ShellCheck has found an if statement that does not appear to have a matching terminating fi.

This could be because it's missing entirely, or because the if statement was incorrectly terminated by a mismatched done, esac, ) or similar. A companion warning SC1047 is emitted at the point where ShellCheck expected the fi.

Check that the if statement is completely and correctly terminated.

Exceptions:

None

ShellCheck

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally