O comando nohup
não é uma palavra-chave ; ele não pode receber um subshell como o comando a ser executado e, em vez disso, requer um comando real executável:
nohup bash -c 'sleep 120; echo "job done"' &
O Bash está lhe dando um erro de sintaxe porque acha que você está tentando declarar uma função chamada "nohup", que é o único caso em que um parêntese simples pode aparecer na segunda palavra na linha de comando:
nohup () { ... ; }
A mensagem de erro diz a você (obscuramente) que esperava ver o parêntese correto e não a palavra "dormir".