Como posso suspender uma sequência inteira de comandos em um shell?


5

Como posso suspender uma sequência inteira de comandos no bash ou zsh (ou talvez algum outro shell)?

Por exemplo, se eu corro:

sleep 100; echo foo

e pressione Ctrl + Z , sleep está suspenso e colocado em segundo plano, mas echo então corre imediatamente.

Eu gostaria que o último não acontecesse, ou seja echo deve correr depois sleep foi retomado e concluído.

Respostas:


6

Execute-os a partir do subshell:

( sleep 100 ; echo foo ; )

E ctrl + z congelará todo o subshell, não apenas um comando:

^Z
[1]+  Stopped                 ( sleep 100; echo foo ; )
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.