gpt4 book ai didi

linux - 用 $? 计算退出码在 shell 中

转载 作者:太空狗 更新时间:2023-10-29 12:06:16 24 4
gpt4 key购买 nike

各位大佬能帮忙给一下生成$的算法吗?在 shell 中从程序中的退出代码?例如,

  $? is 1 for exit(1);
$? is 255 for exit(-1);

所以我可以从 $ 推断退出代码?

  $? is 1 => exit code is 1
$? is 255 => exit code is -1

对于一些特别的东西,

  $? is 0 for exit(256);
$? is 1 for exit(257);

谁能给出shell中生成$的算法?带有退出代码,这样我就可以在执行命令后仅通过观察 $? 来了解退出代码。

非常感谢。

编辑:为了回答下面的问题,我添加了这个例子。

----a.c----
1 #include <stdlib.h>
2 int main()
3 {
4 exit(-1);
5 }
ning@m:~/work/02_test/ctest> gcc a.c
ning@m:~/work/02_test/ctest> ./a.out
ning@m:~/work/02_test/ctest> echo $?
255
ning@m:~/work/02_test/ctest>

最佳答案

对于 bash,$?是最后一个命令的退出代码。运行 shell 脚本。

#!/bin/bash
exit 113

然后 echo $? 显示 113。参见 http://tldp.org/LDP/abs/html/exit-status.html了解更多信息

对于 BASH,有一些 common exit codes .

返回值只是一个 8 位的 Int。退出代码 255 表示超出范围,因此 -1。您看到 256->0 和 257->1 的原因是它在环绕。基本上是退出值模 256。

所有这些对于 Bash 或 C 都是正确的

关于linux - 用 $? 计算退出码在 shell 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10712564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com