4

我知道您可以在 shell 脚本中使用快捷方式布尔运算符来执行某种异常处理,如下所示:

my_first_command && my_second_command && my_third_command

但是随着您想要链接的命令数量的增加,这很快变得不可读和不可维护。如果我正在编写脚本(或 shell 函数),是否有一种好方法可以在第一个非零返回代码上停止执行脚本或函数,而不用写一大行?

(我使用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.

你应该可以把它放在 shebang 线上,比如:

#!/usr/bin/zsh -e

大多数 shell 都有此选项,通常称为-e.

于 2012-07-20T00:00:18.613 回答