2

你们能帮忙给出用于生成$的算法吗?从程序中的退出代码在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>
4

1 回答 1

3

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

#!/bin/bash
exit 113

然后echo $?显示 113。有关详细信息,请参阅http://tldp.org/LDP/abs/html/exit-status.html

对于 BASH,有一些常见的退出代码

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

所有这一切都适用于 Bash 或 C

于 2012-05-23T02:13:48.050 回答