#!/bin/bash -e :: 什么是`-e`?其他论点?

Far*_*ron 13 linux script bash shell command-line

我是一个 shell 脚本编码员,总是选择使用 shell 作为顶层作为我即时创建网站应用程序的一部分,并且如果我想要一个项目快速实施,我依赖于我的 bash 脚本。

我们都知道,我们总是将#!/bin/bash第一行脚本作为经验法则,一如既往。我养成了使用exit 0...每次关闭脚本的习惯#!/bin/bash。

就在最近,我遇到了这个脚本并感到困惑,并试图找出它到底是什么:#!/bin/bash -e. “什么鬼——还有-e?!” 是我的反应。以编程方式赞赏洞察力。:)

gle*_*man 12

http://www.gnu.org/software/bash/manual/bashref.html#Invoking-Bash
http://www.gnu.org/software/bash/manual/bashref.html#The-Set-Builtin

-e

如果管道 [...] 返回非零状态,则立即退出。

省略了许多细节,因此请阅读该手册。

一个例子:

#!/bin/bash
set -e   # same as putting -e in the shebang
( exit 42 )
echo "you won't see this:
Run Code Online (Sandbox Code Playgroud)