`exit 999`, `echo $?` 后变成 `231`

2022-04-28 13:40:19 +08:00
 zhanglintc
➜ lane@vbox#2 ~ echo 'exit 999;' > a.sh
➜ lane@vbox#2 ~ chmod u+x a.sh
➜ lane@vbox#2 ~ ./a.sh; echo $?
231

如上,999 会变成 231 ,是因为 $? 的上限有限制是吧?具体的资料可以参考哪里呢?

1137 次点击
所在节点    问与答
4 条回复
Trim21
2022-04-28 13:47:52 +08:00
exit code 范围是 0-255

应该是 999mod256=231
owwlo
2022-04-28 13:48:14 +08:00
返回 code 是 8 位的应该,999 二进制 1111100111 取后 8 位 231
zhanglintc
2022-04-28 14:04:25 +08:00
@Trim21 @owwlo 嗯,实验下来的确是的。就是不知道能不能在哪里看到具体的定义说 exit code 最大 8 位。
owwlo
2022-04-28 14:26:34 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/849790

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX