首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要测试“$”?看看命令是否成功,反模式?

为什么要测试“$”?看看命令是否成功,反模式?
EN

Stack Overflow用户
提问于 2016-03-30 15:25:03
回答 1查看 5.9K关注 0票数 21

我看到这里那个测试是否是$?是零(成功)或其他东西(失败)是一种反模式,但我在其他任何地方都找不到。

坚持维基百科反模式的定义:“反模式(或反模式)是对反复出现的问题的共同反应,而这个问题通常是无效的,而且可能会产生很大的反作用。”为什么这会是反模式?

EN

回答 1

Stack Overflow用户

发布于 2021-10-10 13:27:02

在我看来,这是一个反模式,如果您不需要返回命令的值,只需要检查状态。

如果我们需要函数返回值和退出代码,就没有其他方法了(或者我不知道,如果我错了,请纠正我)。在下面的示例中,只有当前面的命令已满并且在其他函数中使用返回值时,我们才需要继续执行。

示例:

代码语言:javascript
运行
复制
test() { echo "A" ; return 1; }
l_value=$(test); l_exit_code=$?;

if (( l_exit_code == 0 )); then
   fn_other_function_to_pass_value $l_value
else
   echo "ERROR" >&2
   exit 1
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36313216

复制
相关文章

相似问题

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