シェルスクリプトについて(その3)

プログラミング
スポンサーリンク

case文

指定された文字列がパターンにマッチするかどうかを判断し、マッチしたパターンに対応する処理を行うための制御構造です。

case文の構造

case 文字列 in
パターン1)
処理1
;;
パターン2)
;;
esac

文字列によって処理を分岐する場合に有効です。

パス名展開が使えます。

「|」を使って複数パターンを1行に書くこともできます。

while文

指定した条件が真である限り繰り返し処理を行う制御構文です。

while文の構文

while [コマンド]
do
繰り返し処理
done

コマンドの終了ステータスがゼロであれば真とみなされ、doからdoneのブロック内に書かれた処理が繰り返し実行されます。

算術式展開「$((計算式))」がwhileとセットでよく使われます。

bashの算術式展開は、読みやすく動作も速いという利点を持っています。

シェル関数

処理をひとまとめにして関数にしておき、繰り返し使えるようにすることを、シェル関数と呼びます。

functionを利用して定義します。

function 関数名 ()
{
処理
}

functionと()のどちらかを省略して書くこともできます。

functionを省略して使われることが多いです。

なおシェル関数を利用する際には、利用する箇所よりも前に定義しておかなければいけません。

位置パラメータ$1,$2…が利用できます。

ただし、シェル関数ではコマンドライン引数ではなく、関数への引数が参照されます。

シェル関数内では、位置パラメータが関数の引数へと置き換えられます。

そのため、位置パラメータではなく特殊パラメータと呼ばれています。

シェル関数も終了ステータスを返します。

シェル関数内で最後に実行されたコマンドの終了ステータスが、そのままシェル関数の終了ステータスとなります。

returnコマンドで終了ステータスを返せます。

シェル関数を終了させる

return 終了ステータス

コメント

タイトルとURLをコピーしました