首页 > 解决方案 > shell脚本中特定exit_code的异常处理?

问题描述

我明白

a_command || fallback_command

它将捕获来自 command_a 的任何非零 exit_code(即当 command_a 失败时)并将运行 fallback_commad。如何为某些特定代码实现这一点?如何让它像a_commandthrows一样工作,255然后运行 ​​fallback_command ?

我试图做类似的事情

a_command
VAR=$?
if [ $VAR==255 ]
then
    fallback_command
    exit 0
fi

但这不会抑制 command_a 抛出的非零错误。我想抑制非零 exit_codes。

标签: bashshell

解决方案


恕我直言case,非常适合这个

a_command
VAR=$?
case $VAR in
    255) fallback_command ;;
    123) fallback_command2;;
    ...) ...   ;;
      0) exit 0;;
esac

推荐阅读