shell

时间:2018-05-27 09:40:33

标签: shell

我经常在dockerfiles中看到set -eset -ex,我想知道他们的目的是什么。最近,我也见过set -o pipefail,我不知道它做了什么。我尝试man set查看是否有任何手册说明,但没有任何说明,我在这里求助。

1 个答案:

答案 0 :(得分:2)

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

-e

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

-x

在展开之后和执行之前打印一些简单命令及其参数。 -o xtrace

-o pipefail

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