'set -e' と入力すると bash が終了します。

'set -e' と入力すると bash が終了します。

bashバージョンで4.4.12次のように入力した場合:

set -e

コマンドプロンプトでシェルが終了し、を返します128

set -u天気いいのになぜこんなことが起きるの?

ベストアンサー1

たとえば、拡張の一部としてゼロ以外の終了ステータスを返すコマンドがある場合PROMPT_COMMAND(プロンプトを印刷する前に実行されます)、このbashオプションを設定すると、シェルはすぐに終了します。errexitset -e

DEBUGもう1つの可能性は、ゼロ以外の終了状態を返すトラップセットがあることです。ただし、トラップがDEBUG実行されます。今後Enterを押した直後にシェルは終了せず、次のset -eコマンドを開始する前にシェルが終了するようにコマンドを呼び出します。

set -uシェルオプションを設定するだけですnounset。このオプションを使用すると、設定されていない変数を$@sumに拡張しようとすると、シェルでエラーが発生します$*set -e無効な場合、シェルは終了しません。

そしてset -u効果を発揮するそしてPS1シェルで変数を設定解除〜するerrexit設定オプションを使用した直後に終了してくださいset -e

おすすめ記事