ウェブサイト検索

Bashスクリプトを異なる戻りコードで終了させる方法


しかし、多くのBashスクリプトユーザーは、終了時に異なる戻りコードで返したいと考えていますが、エラーが発生します。このチュートリアルでは、Bashスクリプトを異なる戻りコードで終了時に返すためのさまざまなアプローチについて説明します。

Bashスクリプトは終了時に異なる戻りコードで返されます

方法に移る前に、特定の意味を持つ終了コードを見てみましょう:

終了コード説明
0スクリプトは正常に実行されました。
1スクリプトは一般的なエラーで実行されます。
2スクリプト内で一部の組み込みコマンドが無効に使用されています。
126実行できない呼び出されたコマンドのエラーを表示します。
127そのコマンドはスクリプトに存在しません。
128範囲外の終了コードまたは致命的エラー信号を表示します。
130CTRL+C はスクリプトを終了します。
255スクリプトの一般的な失敗エラーコード。

終了時に戻りコードを取得する方法は?

戻りコードを取得するには、「echo $?」コマンドを書くだけで済みます。例えば、次のBashスクリプトを使用して2つの数を比較したい場合:

ターミナルでスクリプトを実行したら、終了時のリターンコードを取得するために「echo $?」を実行してください:

./comparison.sh

echo $?

「comparison.sh」は正常に実行されました。そのため、ターミナルは戻りコードとしてゼロを表示します。同様に、スクリプトの成功した実行として非ゼロを得ることになります。たとえば、スクリプト内でlsコマンドの代わりにLsを使用すると、戻りコードとして非ゼロを得る可能性があります。

前の画像に見られるように、ターミナルはスクリプトに間違ったコマンドが含まれていたため、戻りコード127を表示しています:

異なる終了コードでBashスクリプトを戻す

スクリプトで手動で終了コードを設定できます。たとえば、終了コードとして255を取得したい場合は、次のスクリプトを使用してください:

次に、スクリプトを実行し、「echo $? 」コマンドを実行して戻りコード255を取得します:

./comparison.sh

echo $?

結論

これは、LinuxでBashスクリプトを実行した後に得られる可能性のある終了コードに関するすべてです。終了コードは、ユーザーがBashスクリプトの状態を特定するのに役立ちます。また、異なる戻りコードを手動で設定して使用することもできます。そのため、スクリプトが正常に実行されても、ゼロ以外の終了コードが得られる場合があります。Bashスクリプトについてもっと知りたい場合は、公式ウェブサイトをご覧ください。