シェル上でlinuxコマンドを入力すると、終了時にシェルに対して戻り値が返されます。この戻り値はコマンドが正常に終了したかどうかを表しています。
正常終了した場合の戻り値 : 0
異常終了した場合の戻り値 : 0以外
この戻り値は変数「$?」に格納されます。
例えばlsコマンドを引数なしで実行するとカレントディレクトリ内のファイル一覧が表示されます。その後、「echo $?」と入力してみましょう。lsコマンドが正常に終了したことを表す「0」が表示されます。
次にカレントディレクトリに存在しないファイル名を引数としてlsコマンドを実行した後に「echo $?」と入力してみましょう。異常終了を表す0以外の数値(下の例では「1」)が表示されます。
シェルスクリプト内においてもこの変数が使えます。
後述のifやcaseなどの条件分岐と組み合わせることにより、ある処理の実行結果を「$?」で調べ、結果によって後続の処理を変更することが可能になります。
 |
 |
・この変数は非常に有用なので是非覚えてください。
|
|
|