如何在 bash 或 zsh(或者其他一些 shell)中暂停整个命令序列?
例如,如果我运行:
sleep 100; echo foo
Run Code Online (Sandbox Code Playgroud)
并按Ctrl+ Z,sleep
暂停并置于后台,但echo
随后立即运行。
我希望后者不会发生,即echo
应该在sleep
恢复并完成后运行。
从子shell执行它们:
( sleep 100 ; echo foo ; )
Run Code Online (Sandbox Code Playgroud)
并且 ctrl+z 将冻结整个子shell,而不仅仅是一个命令:
^Z
[1]+ Stopped ( sleep 100; echo foo ; )
Run Code Online (Sandbox Code Playgroud)