shell脚本中的“异常处理”

时间:2012-07-19 23:57:31

标签: shell zsh

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

my_first_command && my_second_command && my_third_command

但随着您想要链接的命令数量的增长,这很快变得难以理解且无法维护。如果我正在编写脚本(或shell函数),是否有一种很好的方法可以在第一个非零返回代码上暂停执行脚本或函数,而无需在一行中写入?

(我使用zsh,所以如果答案只能在zsh中使用,那对我来说没问题。)

1 个答案:

答案 0 :(得分: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