• ベストアンサー

unix の exit 1, exit 0について

unixの超初心者です。 viで作るプログラムで、if 構文の中に、exit 0 とexit 1がありますが、exit 0は、正常終了。 exit 1は、異常終了と言葉では理解してますが、よくわかりません。 (1)じぶんの理解では、exit 0がif文がとりあえず終わったと、 そして、exit 1は、後にも続くかも?みたいに理解してるんですが、elseの後なので(elseがあっても入ってない時がある)。 どうでしょうか? (2)それと これは fiの前に入れるものなんでしょうか? 最後のexit 0は fiの後に入れてるようですが?間違い? (3)if,else,fi. if,else,fi. if,else,fiと続く場合exit 1 を入れてないif 文もありますが、どうちがうんでしょう? (4)exit だけの場合との違いは、何なんでしょうか? すごく混乱してます、よろしくお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • kouta77
  • ベストアンサー率20% (185/896)
回答No.2

exit にあたると、その時点で処理は終了されます。 なのでIF文の分岐でExitがあれば、そこで終了。 その下のロジックは処理されません。 Exit 0 と後ろにつける数字は終了ステータスを示します。 通常は0 を正常として、1を警告、2をエラーなどにします。 これを実行元に返し、プログラムが正常に終了したかどうかの判断元にします。 例えば、2が返された場合は、システム管理者にメールを送付するなどのアラートなんかにも使われます。

glotte
質問者

お礼

回答ありがとうございました。なんとなくわかりました。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

まず、言語は何でしょうか?c,c++,シェルスクリプト? exitの後の数値は単にexitするときの通知する値を記述するだけで、異常かどうかは、その値を受け取った後続処理の判断の問題です。 一般的には、0なら問題なしで、0以外は何らかの確認や処置が必要という暗黙の決まり事があるようですが、絶対の決まり事ではありません。 実際の記述を挙げて確認したいことを述べて下さい。

glotte
質問者

お礼

回答ありがとうございました。 0なら問題なしなんですね。 シェルスクリプトです。

関連するQ&A