}. If you have one, try a ; or
\n in front of it.#!/bin/bash
bar() { echo "hello world" }#!/bin/bash
bar() { echo "hello world";}} 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.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.