我有一个简单的脚本
#!/usr/bin/bash
# exit5.bash
exit 5
我用C程序中的系统调用它
#include <stdlib.h>
#include <stdio.h>
int main()
{
int ret = system("./exit5.bash");
printf("%d\n", ret);
return 0;
}
我看到1280打印到屏幕上,这与
5 << 8
相同为什么看不到常规5?
最佳答案
system
的返回值是终止状态,而不是退出代码。
参见return value section of man system
:
您所寻找的内容由WEXITSTATUS
宏返回: