シェルスクリプトの中でしばしば使われるコマンドの一つがスクリプトを終了させるexitコマンドです。
この記事では、シェルスクリプトにおける exit コマンドの基本的な使い方について詳しく解説します。
目次
exitコマンドの基本
exit コマンドは、シェルスクリプトの実行を終了するために使用します。スクリプトの最後にexit コマンドを置くことで、スクリプトが終了します。
#!/bin/bash
echo "このメッセージは表示されます"
exit 0
echo "このメッセージは表示されません"
通常、シェルスクリプトはexitコマンドがなくても末端まで行けば勝手に終了してしまいますが、exitコマンドで終了させる場合には「終了コード」を付与することができます。
上のスクリプトの「exit 0」の「0」が終了コードです。
exitコマンドにおける終了コードとは
exitコマンドには、終了コード(またはリターンコード)を指定することができます。
終了コードは、スクリプトの実行結果を示す整数値で「例えば正常に終了せずに異常終了した」などの状況をスクリプトの呼び出し元などに伝えることができます。
終了コードは、スクリプトが他のスクリプトやプログラムから呼び出された場合に、その結果を伝えるために使われます。
if [ "$1" != "hello" ]; then
echo "引数が 'hello' ではありません"
exit 1
fi
echo "引数が 'hello' です"
exit 0
異常終了を1、正常終了を0などで扱うのがよくあるパターンです。
デフォルトの終了コード
exit コマンドに終了コードを指定しない場合、デフォルトでは最後に実行されたコマンドの終了コードが使用されます。たとえば、以下のようなスクリプトがあります。
#!/bin/bash
echo "スクリプトを実行中"
false
echo "スクリプト終了"
このスクリプトでは、falseコマンドが失敗し、終了コード1が設定されます。
exitコマンドで終了コードが指定されていないため、スクリプト全体の終了コードはfalseコマンドの終了コードと同じ1になります。
まとめ
exitコマンドは、シェルスクリプトの実行を終了し、終了コードを返すために使用されます。
終了コードは、スクリプトが正常に終了したかどうかを示す重要な情報です。スクリプト内で適切に exitコマンドを活用することで、エラーチェックやスクリプトの管理がより効率的に行えるようになります。
シェルスクリプトを作成する際には、終了コードの取り扱いについても意識してみてください。