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; }
所以我有一个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; }