我试图用一个退出号码退出我的主函数,但它总是以0退出。例如,代码:
printf("command exited with error: %i\n", commandExitError);
if(commandExitError > 0)
exit(commandExitError);
if(openError > 0)
exit(openError);
printf("I shouldn't see this if there was an error");
return 0;
有一种奇怪的行为,如果commandExitError
为0,但openError
为1,则它会以错误1退出。但是,如果commandExitError
大于零,它仍会退出0!例如,这是commandExitError > 0
的一些输出:
命令退出并显示错误:512
请注意,我们从未达到打印声明"我不应该看到这个......"然后,获取我的程序的退出状态,回显$?
0
我们看到我的程序仍然以0退出,尽管它应该以512清楚地退出。