Answers:
这个内建函数是如此复杂,以至于它自己的部分。
set允许您更改shell选项的值并设置位置参数,或显示shell变量的名称和值。
该-e
选项
-e
如果管道(请参阅管道)可能由单个简单命令(请参阅简单命令),括号中包含的subshell命令(请参阅命令分组)或由以下命令所包含的作为命令列表一部分执行的命令之一组成,请立即退出花括号(请参阅命令分组)返回非零状态。如果失败的命令紧随一段时间或直到关键字,if语句中的测试部分,&&或||中执行的任何命令的一部分之后,命令列表中的一部分,则外壳程序不会退出。列出最后一个&&或||之后的命令,管道中最后一个命令之外的任何命令,或者如果命令的返回状态用!反转。退出外壳之前,将执行ERR上的陷阱(如果已设置)。
此选项分别适用于外壳环境和每个子外壳环境(请参阅命令执行环境),并且可能导致子外壳在执行子外壳中的所有命令之前退出。
资料来源:www.gnu.org
由于以下@psusi的评论而进行了编辑。
另外,您可以阅读bash的手册页
man bash
在本节中:SHELL BUILTIN COMMANDS
或问题
help set
以获得简短的帮助信息。
help set
和/或是man bash
的正确选择set
。
set -e
简而言之,当它位于您的bash脚本的顶部时,告诉脚本一旦脚本中的任何一行失败就退出脚本(手册中列出了一些例外情况)。[1]
作为调试选项,它通常与一起使用set -x
,它是在执行前以“ +”号打印每个扩展的命令行。[2]
更多信息请访问:
[1] https://www.peterbe.com/plog/set-ex
[2] http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html
help set
完整的bash手册info bash
。