Bash - 在前一个成功时运行一个脚本,否则运行另一个脚本?

use*_*495 1 bash shell-script control-flow

我认为我的问题与类似,但有一个额外的步骤 - 假设我有 3 个脚本:

  1. 主脚本文件
  2. report_success.sh
  3. report_failure.sh

我该如何做这样的伪代码:

if (main_script.sh finished without error):
run report_success.sh
else:
run report_failure.sh
Run Code Online (Sandbox Code Playgroud)

?

谢谢!

小智 5

if main_script.sh; then
    report_success.sh
else
    report_failure.sh
fi
Run Code Online (Sandbox Code Playgroud)

这使用 的退出状态main_script.sh来确定它是否成功(退出状态 0)或不成功(退出状态非零),然后运行适当的报告脚本。