ただし、多くの Bash スクリプト ユーザーは、終了時に異なるリターン コードで戻りたいと考えていますが、エラーが発生します。このチュートリアルでは、終了時にさまざまなリターン コードで Bash スクリプトを返すためのさまざまなアプローチについて説明します。
終了時に異なるリターン コードで Bash スクリプトが戻る
メソッドに移る前に、特定の意味を持つ終了コードを見てみましょう。
終了コード | 説明 |
0 | スクリプトは正常に実行されます。 |
1 | スクリプトは一般的なエラーで実行されます。 |
2 | スクリプト内の一部の組み込みコマンドの使用が無効です。 |
126 | 呼び出されて実行できないコマンドのエラーを示します。 |
127 | コマンドがスクリプトに存在しません。 |
128 | 範囲外の終了コードまたは致命的なエラー信号を示します。 |
130 | CTRL+C はスクリプトを終了します。 |
255 | スクリプトの一般的な失敗エラー コード。 |
終了時にリターン コードを取得する方法は?
「echo $?」と書くだけです。戻りコードを取得するコマンド。たとえば、次の Bash スクリプトを使用して 2 つの数値を比較するとします。
ターミナルでスクリプトを実行したら、「echo $?」を実行します。終了時に戻りコードを取得するには:
. / 比較.sh
エコー $?
「comparison.sh」が正常に実行されます。そのため、端末は戻りコードとしてゼロを表示します。同様に、スクリプトの実行が成功すると、ゼロ以外の値が返されます。たとえば、スクリプトで ls コマンドの代わりに Ls を使用すると、戻りコードとしてゼロ以外が返されることがあります。
前の画像でわかるように、スクリプトに間違ったコマンドが含まれていたため、端末にはリターン コードとして 127 が表示されます。
異なる終了コードで Bash スクリプトを返す
スクリプトで終了コードを手動で設定できます。たとえば、終了コードとして 255 を取得する場合は、次のスクリプトを使用します。
次に、スクリプトを実行し、「echo $?」を実行します。戻りコードとして 255 を取得するコマンド:
. / 比較.shエコー $?
結論
これは、Linux で Bash スクリプトを実行した後に取得する可能性がある終了コードに関するものです。終了コードは、ユーザーが Bash スクリプトのステータスを識別するのに役立ちます。さまざまなリターン コードを手動で設定して使用することもできます。したがって、スクリプトが正常に実行された場合でも、ゼロではなくゼロ以外の終了コードを取得できます。 Bash スクリプトについて詳しく知りたい場合は、公式 Web サイトを参照してください。