3 SC1054
Ivan edited this page 2024-09-28 19:06:25 -05:00

You need a space after the {.

Problematic code:

foo() {echo "hello world"; }

Correct code:

foo() { echo "hello world"; }

Rationale:

{ 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.

Exceptions:

None.