web-dev-qa-db-ja.com

#!/ bin / bash -e :: `-e`とは何ですか?他の議論?

私は常にシェルスクリプトコーダーであり、常にウェブサイトアプリをオンザフライで作成する際、ベルトの一部としてトップレベルとしてシェルを使用することを選択しており、プロジェクトを高速に実装する場合はbashスクリプトに依存しています。

いつものように、スクリプトの最初の行の目安として常に#!/bin/bashを使用することは誰でも知っています。私は、exit 0を使用してスクリプトを閉じる習慣として、#!/bin/bashが付属するすべてのスクリプトを毎回閉じました。

つい最近、私はこのスクリプトに出くわし、困惑し、これが何であるかを正確に見つけようとしました:#!/bin/bash -e。 「なんてこった--eもある!?」私の反応でした。洞察は、プログラム的に評価されます。 :)

9
Faron

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:
8
glenn jackman