开发者社区> 问答> 正文

shell脚本中set -e是什么意思

我看了一下某个脚本,最开始的两行是

set -e
set -o pipefail
请问这两句是什么意思呢?

展开
收起
a123456678 2016-07-20 17:02:42 2399 0
1 条回答
写回答
取消 提交回答
  • $ set -e

    这行代码之后的任何代码,如果返回一个非0的值,那么整个脚本立即退出,官方的说明是为了防止错误出现滚雪球的现象
    $ set -o pipefail

    原文解释如下:

    If set, the return value of a pipeline is the value of the last (rightmost) command to exit with a non-zero status,or zero if all commands in the pipeline exit successfully. This option is disabled by default.
    可理解为:

    告诉 bash 返回从右到左第一个以非0状态退出的管道命令的返回值,如果所有命令都成功执行时才返回0

    2019-07-17 19:59:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载