我经常在dockerfiles中看到set -e
或set -ex
,我想知道他们的目的是什么。最近,我也见过set -o pipefail
,我不知道它做了什么。我尝试man set
查看是否有任何手册说明,但没有任何说明,我在这里求助。
答案 0 :(得分:2)
您可以在此处找到完整列表:
https://ss64.com/bash/set.html
如果一个简单的命令以非零状态退出,则立即退出,除非失败的命令是until或while循环的一部分,if语句的一部分是&&的一部分。或||列表,或者使用!来反转命令的返回状态。 -o errexit
在展开之后和执行之前打印一些简单命令及其参数。 -o xtrace
如果设置,管道的返回值是以非零状态退出的最后(最右边)命令的值,如果管道中的所有命令都成功退出,则返回零。默认情况下禁用此选项。