if, not If.If true
Then
echo "hello"
Fiif true
then
echo "hello"
fiShells are case sensitive and do not accept If or
IF in place of lowercase if.
If you're aware of this and insist on naming a function
WHILE, you can quote the name to prevent shellcheck from
thinking you meant while. Or if you really want the names,
add things like alias If=if IF=if to replace those keywords
and ask shellcheck to ignore them.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.