関数ローカル `set -e`

関数ローカル `set -e`

そのような機能はありますか?それとも簡単にエミュレートできますか?呼び出しが発生するreturn場所を除いて、同じ動作が必要です。set -eexit

ベストアンサー1

サブシェルが役に立ちます。

func() {(set -e
        echo a
        ehco b
        echo c
)}

func
func
func

このスクリプトは以下を生成します。

a
script.sh: line 3: ehco: command not found
a
script.sh: line 3: ehco: command not found
a
script.sh: line 3: ehco: command not found

それとも興味があるかもしれません。Bashでtry/catchを実装する

おすすめ記事