暂停并编辑以前的单行命令

暂停并编辑以前的单行命令

假设我想修改一些串联命令行选项的后者,是否可以在不终止第一个命令的情况下进行操作?

具体来说,我已经编译并运行了如下脚本:

> compile ; run

编译正在进行中(持续两个小时的一半),但新信息告诉我我真的不想再运行“运行”命令(它启动了很多我不想清理的后台进程) )。

有没有办法完成这种调整,或者我应该更聪明地了解将来如何将命令组合在一起?

答案1

就像是

compile && { test -f /path/to/dont_run || run; }

应该可以解决你的问题。touch /path/to/dont_run会阻止run被处决。您可以通过定义一个 shell 函数 cond_run_cmd 来使这变得更复杂(也更方便),该函数会执行一些类似的检查,仅限于其 tty(以便您可以并行运行多个)或其他什么。

相关内容