次のプログラムでは、私のecho $は0を取得しますか? 1を予想したが。
int main()
{
return 1;
}
答え1
プログラムは期待どおりに実行されます。
$ cat prog.c
int main()
{
return 1;
}
$ cc prog.c
$ ./a.out
$ echo $?
1
プログラムの実行と出力出力の間で操作を実行すると、使用したコマンドの終了状態が値を$?
上書きします。$?
例えば、
$ ./a.out
$ echo "I ran the program"
I ran the program
$ echo $?
0
0
終了状態は次のとおりですecho
。
答え2
私のシステムでgnu g ++を使ってコードをコンパイルすると、echo $? 1. c、bash、pythonなどのコードに同じ問題がありますか?また、$? は最後のコマンドの戻りにのみ適用されます: $? 0です。