V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhanglintc
V2EX  ›  问与答

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

  •  
  •   zhanglintc · 2022-04-28 13:40:19 +08:00 · 936 次点击
    这是一个创建于 700 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ➜ 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 ,是因为 $? 的上限有限制是吧?具体的资料可以参考哪里呢?

    4 条回复    2022-04-28 14:26:34 +08:00
    Trim21
        1
    Trim21  
       2022-04-28 13:47:52 +08:00 via Android
    exit code 范围是 0-255

    应该是 999mod256=231
    owwlo
        2
    owwlo  
       2022-04-28 13:48:14 +08:00 via iPhone
    返回 code 是 8 位的应该,999 二进制 1111100111 取后 8 位 231
    zhanglintc
        3
    zhanglintc  
    OP
       2022-04-28 14:04:25 +08:00
    @Trim21 @owwlo 嗯,实验下来的确是的。就是不知道能不能在哪里看到具体的定义说 exit code 最大 8 位。
    owwlo
        4
    owwlo  
       2022-04-28 14:26:34 +08:00 via iPhone   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2688 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 83ms · UTC 15:47 · PVG 23:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.