Você recebeu o prompt de volta (veja a quinta linha do seu bloco de código) - e então você obteve a saída. Você ainda estava "no prompt do shell" quando você digitou Enter pela terceira vez.
Em teoria, o shell pode ser programado para reemitir o prompt quando um processo em segundo plano termina. Mas
- Isso não seria muito útil. Seu problema é que
quando o trabalho em segundo plano fez o
echo 1
e o1
aparecerem no seu terminal, seu cursor voltou para a borda esquerda da tela, e tornou-se óbvio que você ainda estava "no prompt do shell". E o escudo de primeiro plano não sabe quando uma tarefa em segundo plano é gravada na tela. -
Historicamente, o shell não sabe quando você está digitando um comando; ele só sabe quando você digita Enter . (Isso ainda pode ser o caso em alguns contextos.) Então a casca não saberia se você estivesse no meio de digitar um terceiro comando
(sleep 3; echo someth
e seria muito confuso se você obtivesse um novo prompt de shell quando você estava no meio de digitar um comando.