你们能帮忙给出用于生成$的算法吗?在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>
答案 0 :(得分:3)
用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