99番出口が何なのか、なぜ使われるのか、その重要な目的が何なのか知りたいです。
たとえば、私はexit 99
。
答え1
コード99で終了することは、特定のプログラムのコンテキスト内を除いて意味がありません。
いずれにせよ、exit
シェルは特定の終了コード(この場合は99)で終了します。詳細は以下で確認できますhelp exit
。
exit: exit [n]
Exit the shell.
Exits the shell with a status of N. If N is omitted, the exit status
is that of the last command executed.
答え2
@Chris Downに加えて、特別な意味を持つシェル用に予約されたいくつかの戻りコードがあります。
RETVAL Meaning
1 General errors
2 Misusage
127 Command not found
あなたは参照することができますこれ詳細については。
答え3
通常、特定の時点でスクリプトを完了する場合:
exit 0
シェルは次のようにゼロを取得します。戻りコード。このゼロは次のことを意味します。すべてが大丈夫です。。
ただし、プログラムが特定のエラー状態を検出した場合は、ゼロ以外の戻りコードで終了し、問題が発生したことをシェルに通知する必要があります。具体的に指定したくない場合は、単に1を使用してください。
exit 1
ただし、異なる番号を使用して、特定の種類のエラーをシェルに通知できます。たとえば、それbash
自体は127を返します。プログラムが見つかりません。したがって、スクリプトの動作を記録する場合は、$?
最後に実行されたプログラムの戻りコードを保持する特殊変数の値を確認して、スクリプトを実行した後に便利な操作を実行できます。
私はこれをしばらく前に調べたところ、FreeBDSに終了コードに関する非常に便利なルールがあることがわかりました。man 3 sysexits
答え4
一部のプログラマは、1から始まるさまざまなエラーコードを提供しています。新しいバージョンでは、新しい特定のエラーコードが導入される可能性があります。それでは、
「その他のすべてのエラー/指定されていないエラー」にはどのコードを使用する必要がありますか?終了コードは255に切り捨てられるので、「その他のエラー」として99を選択します。