Como executo vários comandos juntos em segundo plano?

4

Eu sei que posso executar um programa em segundo plano usando & .

command &

No entanto, quero executar vários comandos e cd em um diretório diferente enquanto eles estão em execução.
Os vários comandos ainda dependerão do diretório em que eu estava anteriormente.

Eu tentei o seguinte, mas ele só executa o último comando em segundo plano:

command1 && command2 &

Isso gera um erro de análise:

command1 & && command2 & 

É importante que command1 termine antes de command2 ,
 então eu não acho que o seguinte garantiria isso:

 command1 &; command2 &;  

Eu não estou preso a nenhum shell específico.

    
por Trevor Hickey 04.05.2016 / 16:35

1 resposta

6

(command1; command2)& - deve fazê-lo, funciona no bash.

Isso cria um subshell (os dois parênteses) e executa o subshell inteiro em segundo plano.

    
por 04.05.2016 / 16:58