【发布时间】:2012-11-28 07:53:57
【问题描述】:
我知道在 bash 中我可以通过用分号分隔命令一个接一个地运行,例如
$ command1; command2
或者,如果我只希望 command2 仅在 command1 成功时运行,则使用 &&:
$ command1 && command2
这可行,但是如果我使用Ctrl-z 暂停command1,在第一种情况下,它会立即运行command2,而在第二种情况下,它根本不会运行它。如何按顺序运行命令,但仍然能够暂停第一个命令,但在我重新启动它(使用fg)并完成之前不能运行第二个命令?我更喜欢输入尽可能简单的东西,因为我想以交互方式执行此操作。或者也许我只需要在某处设置一个选项。
顺便问一下,Ctrl-z 做什么的正确术语是什么?
【问题讨论】:
-
command1; command2应该完全符合您的要求。至于术语,Ctrl-Z 暂停进程。 -
嗯,它没有。我在 iTerm2 的 Mac OS X 10.8 上运行 bash 版本
4.2.8(2)-release。 -
感谢您的术语。我会更新问题以使用它。
-
是的,你是对的,它没有。我认为您需要一个子shell。看我的回答。
标签: bash shell command signals suspend