shell中的`set`选项[重复]

Posted

技术标签:

【中文标题】shell中的`set`选项[重复]【英文标题】:`set` options in shell [duplicate] 【发布时间】:2018-11-06 03:10:09 【问题描述】:

我经常在 dockerfiles 中看到 set -eset -ex,我想知道它们的目的是什么。最近也看到set -o pipefail,不知道是干什么的。我尝试man set 看看是否有任何手动描述,但没有,我在此求助。

【问题讨论】:

【参考方案1】:

您可以在此处找到完整列表:https://ss64.com/bash/set.html

-e

如果简单命令以非零状态退出,则立即退出,除非失败的命令是 until 或 while 循环的一部分、if 语句的一部分、&& 或 || 的一部分列表,或者如果命令的返回状态正在使用 ! 反转。 -o 错误退出

-x

在展开后和执行前打印简单命令及其参数的踪迹。 -o xtrace

-o 管道失败

如果设置,管道的返回值是最后一个(最右边)以非零状态退出的命令的值,或者如果管道中的所有命令成功退出,则返回零。此选项默认禁用。

【讨论】:

感谢您的回答!我终于明白他们的目的了..

以上是关于shell中的`set`选项[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Linux中shell的 set命令 -e -o 选项作用

set -x 调试shell

linux下set命令的参数及用法

set命令详解:开启,关闭shell功能属性

使用选项 -c 在 shell 脚本中打印单引号 [重复]

如何在shell脚本中修改添加替换指定文件中的内容