怎样在上一个命令完成后在 Linux 上执行命令

本文介绍怎样在执行完上一个命令后执行命令。它允许您在前一个命令完成后运行任意数量的命令,而不仅仅是两个。它适用于 Sh、Bash、Zsh 和其他 shell。

您可以在上一个命令完成后执行命令,这取决于或不考虑上一个命令的退出状态(是否失败)。因此,存在三种可能的情况。

  • 如果上一条命令成功完成,则执行该命令。
  • 如果上一条命令失败(退出状态为非零),则执行该命令。
  • 无论上一个命令的退出状态怎样(无论是否失败),都会执行该命令

让我们来看看下面的每个案例。

您可能还喜欢:怎样在 Linux 上每 X 秒重复一次命令

仅在前一个命令成功完成时才连续执行多个命令(等待前一个命令完成) && 命令之间的运算符。为了 example (您可以拥有任意数量的命令):

command1 && command2

如果你不关心上一条命令的退出状态,想在上一条命令执行完后再执行这条命令, ; 分隔器。示例(可以使用任意数量的命令):

command1; command2; command3

如果我想在上一个命令执行完毕后执行一个命令,但上一个命令失败(返回非零退出状态)怎么办?在这种情况下, || 分隔器。为了 example (重复,您可以拥有任意数量的命令):

command1 || command2

您可能还感兴趣:怎样使用find查找最近N天或几分钟内发生变化的文件

您还可以混合使用这些运算符。在这种情况下,您可以使用对命令进行分组 ( 什么时候 )..为了 example:

command1 || (command2; command3)

有了这个 example:

  • command1 等待它完成
  • 如果 command1 如果不成功,继续执行下一个命令 (||):
    • command2 等待它完成
    • 不管 command2退出状态,执行command3(;)

其他 example:

(command1 && command2); (command3 && command4)

有了这个 example:

  • command1 等待它完成
  • 如果 command1 如果成功,执行 command2 并等待它完成(&&)
  • 不管是不是 command2 无论成功或执行,都运行 command3 并等待它完成(;)
  • 如果 command3 成功,运行 command4 ((((&&)

您可能喜欢:怎样更改 Linux 上的默认 shell

相关阅读:

Posted in: Linux