1
我有一个shell脚本,它包含以下几行:得到一个shell脚本的退出代码,在C程序
if [ $elof -eq 1 ];
then exit 3
else if [ $elof -lt 1 ];then
exit 4
else
exit 5
fi
fi
在我的C程序中,我使用popen
来执行这样的脚本:
char command[30];
char script[30];
scanf("%s", command);
strcpy(script, "./myscript.sh ");
strcat(script, command);
FILE * shell;
shell = popen(script, "r");
if(WEXITSTATUS(pclose(shell))==3) {
//code
}
else if(WEXITSTATUS(pclose(shell))==4){
//code
}
现在,我该如何获得脚本的退出代码?我试着用WEXITSTATUS
,但它不工作:
WEXITSTATUS(pclose(shell))
什么你出不给予足够的上下文。请用预期的和实际的输出显示完整的代码。 – dbush
显示更多的C代码... btw,如果WIFEXITED()评估* true,那么应该只使用'WEXITSTATUS()* –
我编辑了我的C代码。 –