关于bash:基于Process Exit Code退出Shell脚本

Exit Shell Script Based on Process Exit Code我有一个执行许多命令的shell脚本。 如果任何命令以非零退出代码退出,如何使shell脚本退出?
在每个命令之后,退出代码可以在
您需要注意管道命令,因为
如果文件不存在,则不会返回错误代码(因为管道的
请注意,这将使您获得
如果您想从管道中获取最大的错误代码,可以使用以下内容:
这将依次遍历每个 如果你想使用$ ?,你需要在每个命令之后检查它,因为$?每个命令退出后更新。这意味着如果执行管道,您将只获得管道中最后一个进程的退出代码。 另一种方法是这样做:
如果你把它放在shell脚本的顶部,看起来bash会为你处理这个问题。正如之前的一张海报所指出的那样,"set -e"会导致bash在任何简单命令上都出错。"set -o pipefail"将导致bash退出,同时管道中的任何命令都会出错。 请参阅此处或此处以获取有关此问题的更多讨论。这是set builtin上的bash手册部分。
" 如果你只是在没有参数的bash中调用exit,它将返回最后一个命令的退出代码。结合OR,如果前一个命令失败,bash应该只调用exit。但我没有测试过这个。
Bash还会将最后一个命令的退出代码存储在变量$?中。
http://cfaj.freeshell.org/shell/cus-faq-2.html#11
如何在
首先,请注意
您可能会观察到141(或269与ksh93)退出状态
要知道管道元素的退出状态 一个。用zsh:
退出代码在pipestatus特殊数组中提供。 湾用bash:
退出代码在 ... 有关详细信息,请参阅以下链接。 对于bash:
在bash中这很容易,只需用&&将它们绑在一起:
您还可以使用嵌套的if结构:
|
相关内容
IE脚本错误如何做Web脚本错误解决技巧
IE脚本错误如何做Web脚本错误解决技巧,,这个问题是由于这样的...
mac虚拟机快捷键|mac虚拟机退出全屏快捷键
mac虚拟机快捷键|mac虚拟机退出全屏快捷键,,mac虚拟机退出全屏...
cad逐点标注快捷键|cad的逐点标注命令
cad逐点标注快捷键|cad的逐点标注命令,,cad的逐点标注命令工具...
cad快捷键命令|cad快捷键命令大全标注
cad快捷键命令|cad快捷键命令大全标注,,cad快捷键命令大全标注...
矩形cad快捷键|CAD矩形命令快捷键
矩形cad快捷键|CAD矩形命令快捷键,,CAD矩形命令快捷键CAD软件...
cad重复复制快捷键|cad连续复制快捷键命令
cad重复复制快捷键|cad连续复制快捷键命令,,1. cad连续复制快...
cmd命令快捷键|cmd快捷键大全
cmd命令快捷键|cmd快捷键大全,,cmd快捷键大全首先介绍第一种方...
cad布局常用快捷键|cad布局常用快捷键命令
cad布局常用快捷键|cad布局常用快捷键命令,,1. cad布局常用快...
mac如何退出u盘快捷键|苹果电脑u盘退出快捷键
mac如何退出u盘快捷键|苹果电脑u盘退出快捷键,,1. 苹果电脑u盘...
cad平面设备快捷键|cad机械设计常用快捷键命令
cad平面设备快捷键|cad机械设计常用快捷键命令,,1. cad机械设...
如何退出电脑全屏快捷键|怎么退出全屏快捷键
如何退出电脑全屏快捷键|怎么退出全屏快捷键,,怎么退出全屏快...
电脑计算器命令|电脑计算器命令怎么用
电脑计算器命令|电脑计算器命令怎么用,,1. 电脑计算器命令怎么...
cad修改快捷键的命令|cad修改快捷键的命令大全
cad修改快捷键的命令|cad修改快捷键的命令大全,,cad修改快捷键...
电脑系统的启动服务项|启动系统服务命令
电脑系统的启动服务项|启动系统服务命令,,启动系统服务命令这...
华硕电脑工厂模式怎么退出|华硕电脑高级模式怎
华硕电脑工厂模式怎么退出|华硕电脑高级模式怎么退出,,华硕电...