【问题标题】:What does -ex option used in bash | #!/bin/bash -ex meanbash 中的-ex 选项有什么作用? #!/bin/bash -ex 意思
【发布时间】:2016-11-15 12:41:07
【问题描述】:
我们使用下面的脚本作为 EC2 实例的用户数据。我不明白-ex 选项的用途是什么?
#!/bin/bash -ex
yum update -y
yum groupinstall -y "Web Server" "MySQL Database" "PHP Support"
service httpd start
chkconfig httpd on
【问题讨论】:
标签:
linux
bash
shell
scripting
【解决方案2】:
这只是另一种说法:
#!/bin/bash
set -ex # Added line
yum update -y
yum groupinstall -y "Web Server" "MySQL Database" "PHP Support"
service httpd start
chkconfig httpd on
[ bash manual ] 说:
与 set 内置函数一起使用的所有单字符选项(请参阅
Set Builtin) 可以在调用 shell 时用作选项
[ set reference ] 说:
set 允许您更改 shell 选项的值并设置
位置参数,或显示外壳的名称和值
变量。
-x
打印简单命令的痕迹,对于命令,case命令,select
命令,以及命令及其参数的算术或
相关单词列表在它们展开之后和之前
执行。 PS4 变量的值被展开,结果
value 在命令及其扩展参数之前打印。
-e
如果有管道(请参阅管道),则立即退出,其中可能包含一个
单个简单命令(请参阅简单命令)、列表(请参阅列表)或
复合命令(请参阅复合命令)返回非零状态。