假设我想修改一些串联命令行选项的后者,是否可以在不终止第一个命令的情况下进行操作?
具体来说,我已经编译并运行了如下脚本:
> compile ; run
编译正在进行中(持续两个小时的一半),但新信息告诉我我真的不想再运行“运行”命令(它启动了很多我不想清理的后台进程) )。
有没有办法完成这种调整,或者我应该更聪明地了解将来如何将命令组合在一起?
答案1
就像是
compile && { test -f /path/to/dont_run || run; }
应该可以解决你的问题。touch /path/to/dont_run
会阻止run
被处决。您可以通过定义一个 shell 函数 cond_run_cmd 来使这变得更复杂(也更方便),该函数会执行一些类似的检查,仅限于其 tty(以便您可以并行运行多个)或其他什么。