首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >shell脚本中的异常处理?

shell脚本中的异常处理?
EN

Stack Overflow用户
提问于 2011-08-06 03:06:14
回答 5查看 99.1K关注 0票数 81

我正在寻找shell脚本中的异常处理机制。shell脚本中是否有try、catch等效机制?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-08-06 03:13:46

bash中并没有真正的try/catch (我假设您正在使用bash),但是您可以使用&&||来实现非常类似的行为。

在此示例中,如果a_command 失败(返回一个非零值),则要运行:

代码语言:javascript
运行
复制
a_command || fallback_command

在此示例中,如果a_command 成功执行(返回0),则希望执行:

代码语言:javascript
运行
复制
a_command && second_command

通过使用子subshell可以很容易地将它们混合在一起,例如,以下命令将执行a_command,如果成功,它将运行other_command,但如果a_commandother_command失败,则将执行fallback_command

代码语言:javascript
运行
复制
(a_command && other_command) || fallback_command
票数 130
EN

Stack Overflow用户

发布于 2011-08-07 11:42:02

if/else结构和退出代码可以帮助您伪造一些代码。这应该可以在Bash或Bourne (sh)中工作。

代码语言:javascript
运行
复制
if foo ; then
else
  e=$?        # return code from if
  if [ "${e}" -eq "1"]; then
    echo "Foo returned exit code 1"
  elif [ "${e}" -gt "1"]; then
    echo "Foo returned BAD exit code ${e}"
  fi
fi
票数 13
EN

Stack Overflow用户

发布于 2016-06-22 21:06:25

代码语言:javascript
运行
复制
{
    # command which may fail and give an error 
} || {
   # command which should be run instead of the above failing      command
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6961389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档