Bash 脚本中的选择性错误检查

Selective error checking in Bash script

所以我有一个bash脚本如下:

Command1 -- If error occurs, ignore error and continue execution
Command2 -- If error occurs, ignore error and continue execution
Command3 -- If error occurs, stop execution, exit the script with the error
Command4 -- If error occurs, stop execution, exit the script with the error
Command5 -- If error occurs, stop execution, exit the script with the error
Command6 -- If error occurs, ignore error and continue execution

我需要检查特定命令以查看它们是否抛出错误,如果抛出错误,则退出脚本并返回错误代码 (Comand3,4,5)。但是,我不能使用 "set -e",因为我也希望有目的地忽略某些命令(Command1、2、6)。

有什么方法可以将命令 3、4 和 5 组合在一个函数中,并且 运行 如果这些命令中的任何一个抛出错误,脚本就会退出?另外,如果我想在脚本退出之前做一些清理(类似于 Java 中的 catch 子句,如果有异常则执行代码),我该怎么做?

谢谢

怎么样:

Command1
Command2
Command3 || exit
Command4 || exit
Command5 || exit
Command6

Command1
Command2
Command3 && Command4 && Command5 || exit
Command6

进行清理:

cleanup() {
    # commands here that do your cleanup
    # ...
}

Command3 && Command4 && Command5 || { cleanup; exit; }