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代碼。 –