erro de script bash usando {} para vários comandos

erro de script bash usando {} para vários comandos

Estou escrevendo um script bash (abaixo) e executando-o usando

sudo bash ./script.bash 

erro de resultado:

line 22: syntax error near unexpected token `fi'

o roteiro:

getent passwd myuser > /dev/null
if [ $? -eq 0 ]; then
    echo "info: user myuser already exists"
else
    sudo useradd -M myuser > /dev/null || { echo "ERROR: could not create user myuser."; exit 1 }
    echo "info: user myuser created successfully"
fi

se eu remover a linha:

|| { echo "ERROR: could not create user fiminion"; exit 1 }

tudo parece funcionar.. Não entendo o que estou perdendo..:/

informação relacionada