Shell脚本中的异常处理

4

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

my_first_command && my_second_command && my_third_command

但是,如果你想要链接多个命令,这种方法很快就会变得难以阅读和维护。如果我正在编写一个脚本(或shell函数),有没有一个好的方法可以在第一个非零返回码处停止执行脚本或函数,而不必将所有内容都写在一行上呢?(我使用zsh,所以如果只有在zsh中有效的答案也可以)
1个回答

5
< p > -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

大多数命令行解释器都有这个选项,通常称为-e

这太完美了——非常感谢!在无法接受的时间窗口过期后,我会尽快接受。 - Haldean Brown

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接