$?,如果是 0 代表程式成功執行,非 0 的其他數字代表錯誤碼。
[dywang@deyu zzz]$ ls mainfunc1.c mainfunc1.c [dywang@deyu zzz]$ echo $? 0 [dywang@deyu zzz]$ ls mainfunc1.cc ls: cannot access mainfunc1.cc: No such file or directory [dywang@deyu zzz]$ echo $? 2
[dywang@deyu zzz]$ vim mainfun2.c
[dywang@deyu zzz]$ cat mainfun2.c
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char *argv[] ) {
int i, sum=0, tmp;
for ( i=1; i<argc; i++) {
tmp = atoi(argv[i]);
if (tmp == 0) {
printf("%s NOT a number!\n", argv[i]);
return 1;
}
if(i==argc-1) {printf("%s=", argv[i]);}
else {printf("%s+", argv[i]);}
sum += atoi(argv[i]);
}
printf("%d\n", sum);
return 0;
}
[dywang@deyu zzz]$ gcc -o mainfun2 mainfun2.c
[dywang@deyu zzz]$ ./mainfun2 1 2 3 4 1+2+3+4=10 [dywang@deyu zzz]$ echo $? 0
[dywang@deyu zzz]$ ./mainfun2 1 2 abc 1+2+abc NOT a number! [dywang@deyu zzz]$ echo $? 1