如何在 shell 中暂停整个命令序列?

如何在 shell 中暂停整个命令序列?

如何在 bash 或 zsh(或者其他 shell)中暂停整个命令序列?

例如,如果我运行:

sleep 100; echo foo

并按下Ctrl+ Zsleep被暂停并进入后台,但echo随后立即运行。

我希望后者不要发生,即应该在恢复并完成echo后运行。sleep

答案1

从子 shell 执行它们:

( sleep 100 ; echo foo ; )

而 ctrl+z 将冻结整个子shell,而不仅仅是一个命令:

^Z
[1]+  Stopped                 ( sleep 100; echo foo ; )

相关内容