SC1054 – ShellCheck Wiki

See this page on GitHub


You need a space after the {.

Problematic code:

foo() {echo "hello world;}

Correct code:

foo() { echo "hello world;}


{ is only recognized as the start of a command group when it's a separate token.

If it's not a separate token, like in the problematic example, it will be considered a literal character, as if writing "{echo" with quotes, and therefore usually cause a syntax error.



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