O script foi para o segundo plano e retornou seu prompt. O problema é que você não está redirecionando sua saída para qualquer lugar, de modo que ainda aparece no seu terminal. Enviar um comando para o segundo plano significa que ele continuará em execução e você poderá fazer outras coisas no shell pai. No entanto, como o comando está em execução, sua saída (stdout e stderr) ainda está conectada ao seu terminal atual e é por isso que você ainda os vê.
Então, para enviar um comando para o plano de fundo e ocultar sua saída, você precisa:
-
Redirecionar stdout somente para que as mensagens de erro ainda sejam impressas no terminal:
./leap > leap.log &
-
Redirecionar stderr apenas para que a saída, mas não os erros, ainda apareça no terminal:
./leap 2> leap.log &
-
Redirecione ambos para que nada seja impresso no terminal:
./leap > leap.log 2>&1 &
Ou (se o seu shell for compatível)
./leap &> leap.log &
Em todos os exemplos, para descartar a saída em vez de salvar em um arquivo, use /dev/null
em vez de leap.log
.