4

シェルスクリプトでブール演算子のショートカットを使用して、次のような例外処理を実行できることを私は知っています。

my_first_command && my_second_command && my_third_command

しかし、チェーンするコマンドの数が増えると、これはすぐに判読不能になり、維持できなくなります。スクリプト (またはシェル関数) を書いている場合、大きな行を 1 行も書かずに、最初のゼロ以外の戻りコードでスクリプトまたは関数の実行を停止させる良い方法はありますか?

(私は を使用zshしているので、 でのみ機能する回答があれば、それで問題ありzshません。)

4

1 に答える 1

5

-eオプションはこれを行います:

   ERR_EXIT (-e, ksh: -e)
          If a command has a non-zero exit status, execute the ZERR  trap,
          if set, and exit.  This is disabled while running initialization
          scripts.

次のように、これをシバン行に配置できるはずです。

#!/usr/bin/zsh -e

ほとんどのシェルにはこのオプションがあり、通常は-e.

于 2012-07-20T00:00:18.613 に答える