5 SC1056
Joachim Ansorg edited this page 2021-11-12 10:39:11 +01:00

Expected a }. If you have one, try a ; or \n in front of it.

Problematic code:

#!/bin/bash
bar() { echo "hello world" }

Correct code:

#!/bin/bash
bar() { echo "hello world";}

Rationale:

} is only recognized as the end 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 "foo}" with quotes, and therefore usually cause a syntax error.