shell 中带有 return 退出代码的 2 个数字的非零值
non-zero value of 2 numbers with a return exit code in shell
这是我的情况。
我希望能够退出具有非零值的 RC/RC1。如果 RC 为 0 执行以下代码,则 RC1 返回非零退出代码(最佳情况)如果 RC 非零且 RC1 也非零,我将错过 RC1 的退出代码(这意味着我不会能够使用 RC1 的退出代码)。我怎样才能发送正确的退出代码?本质上我想通过电子邮件发送非零变量
if [ $RC -ne 0 ] || [ $RC1 -ne 0 ]; then
if [ $RC -ne 0 ]; then
exit $RC
else
exit $RC1
fi
您想同时 return 两个退出代码?我猜想,开车的时候,你也想同时坐在前座和后座上。你可以做到,但你需要一辆特殊的汽车。以下是制造这种汽车的两个想法:
如果您知道在这种情况下每个退出代码必须是一位数字,您可以 return 类似于 $((RC*10+RC2))
- 我正在使用 bash/zsh 语法,因为你没有说你正在使用哪个 shell 。如有必要,您必须根据您的 shell.
进行调整
您可以调整脚本的界面,如果其中至少有一个不为零,则将类似“$RC1 $RC2”的内容打印到标准错误,即:
if [ $RC -ne 0 ] || [ $RC1 -ne 0 ]; then
echo "$RC $RC1" 1>&2
exit 1
else
exit 0
fi
在这两种情况下,调用进程都必须拆开组合的退出代码才能取回原始代码。
这是我的情况。
我希望能够退出具有非零值的 RC/RC1。如果 RC 为 0 执行以下代码,则 RC1 返回非零退出代码(最佳情况)如果 RC 非零且 RC1 也非零,我将错过 RC1 的退出代码(这意味着我不会能够使用 RC1 的退出代码)。我怎样才能发送正确的退出代码?本质上我想通过电子邮件发送非零变量
if [ $RC -ne 0 ] || [ $RC1 -ne 0 ]; then
if [ $RC -ne 0 ]; then
exit $RC
else
exit $RC1
fi
您想同时 return 两个退出代码?我猜想,开车的时候,你也想同时坐在前座和后座上。你可以做到,但你需要一辆特殊的汽车。以下是制造这种汽车的两个想法:
如果您知道在这种情况下每个退出代码必须是一位数字,您可以 return 类似于
$((RC*10+RC2))
- 我正在使用 bash/zsh 语法,因为你没有说你正在使用哪个 shell 。如有必要,您必须根据您的 shell. 进行调整
您可以调整脚本的界面,如果其中至少有一个不为零,则将类似“$RC1 $RC2”的内容打印到标准错误,即:
if [ $RC -ne 0 ] || [ $RC1 -ne 0 ]; then echo "$RC $RC1" 1>&2 exit 1 else exit 0 fi
在这两种情况下,调用进程都必须拆开组合的退出代码才能取回原始代码。