Eu faria isso:
-
a && b - pressione
ctrl-Zpara suspender o pipeline atual -
bg 1para executá-lo em segundo plano -
wait %1 && c
wait espera que o trabalho especificado seja concluído e retorna seu status de resultado, de modo que o acima se comporte como a && b && c teria.
Você também pode definir um apelido ou função, por exemplo, alias bgwait='bg 1 && wait %1' . Então, depois de pressionar ctrl-Z , tudo que você precisa digitar é bgwait && c .
O suporte a vários trabalhos é deixado como um exercício para o leitor.