Shell 之道
Shell> set
set
命令用于定制 shell 的运行环境。
以下命令,常常放在 shell 脚本的前面:
set -euxo pipefail
每个参数分别有如下效果。
set -e
脚本执行中发生错误时,立即终止脚本的执行。
set -u
当脚本执行中遇到未定义的变量时,报错并终止执行。
set -o pipefail
如果在管道命令中,前几个命令报错,但最后一个命令执行正确,那么 set -e
就不能让脚本停止执行。这个时候,利用 set -o pipefail
,就可让管道命令执行错误时,脚本也会停止执行。
set -x
打开命令的回显。例如,如下脚本
#!/bin/bash
set -x
echo foobar
将会产生如下输出
$ bash script.sh
+ echo foobar
foobar