首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$?!=函数返回值?

$?!=函数返回值?
EN

Stack Overflow用户
提问于 2022-08-09 16:29:01
回答 1查看 73关注 0票数 0

bash函数中的返回值是一个热门话题,但我还没有看到解释我所看到的行为的答案。

我有一个bash函数库"pt2026_firmware",其中一个函数"pt2026_start_firmware“显式返回0表示成功,1返回失败。当我跑的时候

bash -x -c "source pt2026_firmware; pt2026_start_firmware; echo $?"

我得到:

代码语言:javascript
复制
+ source pt2026_firmware
[...stuff deleted...]
+ '[' 0 -eq 0 ']'
+ return 1
+ echo 0
0

我显然遗漏了一些非常基本的东西,但是我不明白为什么当我“返回1”时我会得到$?=0?提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-09 16:32:51

如果希望在$?运行后展开pt2026_start_firmware,则需要在代码周围使用单引号:

代码语言:javascript
复制
bash -x -c 'source pt2026_firmware; pt2026_start_firmware; echo $?'

否则,在新复制的bash echo $? 甚至启动之前,echo $?会更改为echo 0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73295208

复制
相关文章

相似问题

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