O programa clear está escrevendo para a saída padrão , que é redirecionada pelo comando nohup . Então isso não tem efeito no terminal.
Você pode ver a saída (de clear ) em nohup.out .
Você pode fazer isso em vez disso:
nohup bash -c " sleep 20s; clear >/dev/tty; "
que informa ao shell para redirecionar a saída de clear para o dispositivo tty . Você pode usar o comando tty para identificar o terminal dispositivo que você está usando, por exemplo,
nohup bash -c " sleep 20s; clear > $(tty); "
mas na maioria dos casos ambos funcionarão.
Você pode receber um aviso de nohup , que pode ser silenciado:
nohup bash -c " sleep 20s; clear > $(tty); " 2>/dev/null