Error de script bash al usar {} para múltiples comandos

Error de script bash al usar {} para múltiples comandos

Estoy escribiendo un script bash (a continuación) y ejecutándolo usando

sudo bash ./script.bash 

error de resultado:

line 22: syntax error near unexpected token `fi'

la secuencia de comandos:

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

si elimino la línea:

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

todo parece funcionar... No entiendo qué me estoy perdiendo... :/

información relacionada