ich ein Shell-Skript, das die folgenden Zeilen enthält:gibt es die Exit-Code von einem Shell-Skript, in einem C-Programm
if [ $elof -eq 1 ];
then exit 3
else if [ $elof -lt 1 ];then
exit 4
else
exit 5
fi
fi
In meiner C-Programm I popen
verwenden Sie das Skript wie folgt auszuführen:
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
}
Nun, wie bekomme ich den Exit-Code des Skripts? Ich versuchte WEXITSTATUS
verwenden, aber es funktioniert nicht:
WEXITSTATUS(pclose(shell))
Was Sie zeigt genug Kontext nicht geben. Bitte zeigen Sie einen vollständigen Code mit der erwarteten und tatsächlichen Ausgabe. – dbush
Zeige mehr von deinem C-Code ... btw, du solltest nur 'WEXITSTATUS()' verwenden, wenn 'WIFEXITED()' evaluiert * true * –
Ich habe meinen C-Code bearbeitet. –