99番出口とはどういう意味ですか?

99番出口とはどういう意味ですか?

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を選択します。

関連情報