用$计算退出代码? 在壳

你们可以帮忙给algorithm用来产生$? 从程序中的退出代码壳? 例如,

$? 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中使用生成$的algorithm吗? 与退出代码,以便我可以知道退出代码只有观察$? 执行一个命令后。

非常感谢。

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

 ----ac---- 1 #include <stdlib.h> 2 int main() 3 { 4 exit(-1); 5 } ning@m:~/work/02_test/ctest> gcc ac 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有一些常见的退出代码 。

返回值只是一个8位的Int。 退出代码255意味着超出范围,所以-1。 你看到256-> 0和257-> 1的原因是它正在环绕着。 基本上退出价值模256。

所有这些对于Bash或C都是如此