【发布时间】:2019-10-22 03:24:31
【问题描述】:
我想阻止使用 ; 链接的 bash 命令执行。在上一个命令仍在运行时停止运行。
例如我写并提交了command a; command b,但是当command a 运行时,我改变了主意,想阻止command b 运行。
我无法使用kill,因为后续命令实际上并未执行。 bash 有可以操作的命令队列吗?
为了澄清,我确信可以制作一个新脚本或允许我创建队列的东西,但这不是这个问题的内容。我特别想知道 bash 是否可以阻止分号后的命令在我“提交”后运行。
【问题讨论】:
-
这个问题似乎根本没有包括任何解决问题的尝试。请编辑问题以显示您尝试过的内容,并使用Minimal, Complete, and Verifiable example 显示您遇到的特定障碍。欲了解更多信息,请参阅How to Ask。
-
@magarnicle:链式命令是什么意思?您只是在运行一个又一个语句(命令),这是程序的正常行为方式。如果您在执行“命令 a”时杀死整个脚本,这将杀死所有内容。如果您只想终止“命令 a”并让脚本使用“命令 b”继续,则必须终止“命令 a”。
-
如果你这样启动它,我想你可能不得不启动一个新终端并终止在初始终端中运行这两个作业的
bash会话。 -
这也会杀死第一个命令,我不想这样做。
-
当您改变主意而命令a运行时,您想从外部控制它吗?您可以使用警卫
[[ -f skipme ]] || command_b; rm skipme 2>/dev/null,如果您希望命令 b 被忽略,请执行touch skipme。
标签: linux bash shell command-line