如何将条件命令附加到已经运行的命令?

如何将条件命令附加到已经运行的命令?

假设我有三个命令,如下所示:

a && b && c

这将在 a 完成后以及完成c后运行 b b

如果我这样做会怎么样:

a && b

在运行时,我想将 c 作为条件命令附加。可以做到吗?

答案1

我会这样做:

  • a && b
  • 按下ctrl-Z暂停当前管道
  • bg 1在后台运行
  • wait %1 && c

wait等待指定的作业完成,并返回其结果状态,以便上述行为就像a && b && c那样。

您还可以定义别名或函数,例如alias bgwait='bg 1 && wait %1'。然后,按下后ctrl-Z​​,您只需输入bgwait && c。支持多个作业留给读者练习。

答案2

最后一次操作的结果存储在中$?。0 表示没有发生错误,其他任何结果都是问题。

你可以像这样使用它

if [ $? -eq 0 ]; then c; fi

使其成为您的一个功能或类似功能.bash_profile,这样您就可以更舒适地运行它。

答案3

对于 NT,您可以在当前命令运行时键入新命令并按 ENTER。

例如,

c:\blah>dir /s

其中 blah 足够大,以便您有时间在内容滚动到屏幕上时进行键入。

现在所有这些东西都在屏幕上滚动

当它出现时,输入 mem

然后在 dir /s 完成后,mem 将运行。

相关内容