if
文(使い方)
お兄ちゃん!
シェルスクリプトって
コマンドを順に書いていけば
そのとおりに実行してくれるんだよね?
そうなるよ
でも状況に応じて処理の流れを
変えることができるんだ
今回はそれを学ぼう!
ただ順番どおりに
実行するだけじゃなくて
必要があれば
それを変えられるんだね!
まずは
if
文を学ぼう!
コマンドの終了ステータスに応じて
処理を分ける仕組みだよ
if コマンド
then
処理
fi
これは
コマンド
が成功した場合処理
を実行するよあれ?これって AND 演算子
&&
と同じだよね?コマンド && 処理
と書けば短く書ける気がするんだけど…?そのとおりだね!実際、単純な条件分岐なら
&&
の方が簡潔なんだでもif
文はもっと複雑な条件分岐ができるんだよ次のように書くと複数の条件を設定できるんだ
if コマンド1
then
処理1
elif コマンド2
then
処理2
else
処理3
fi
これは次のように動作するよ
コマンド1
が成功したら処理1
を実行して終了コマンド2
が成功したら処理2
を実行して終了- どちらも失敗したら
処理3
を実行
なるほど!
elif
や else
を使えば条件をどんどん増やしていけるんだねそのとおり!さらに…
elif
はいくつでも書けるelif
やelse
は省略できる
以下のような場合は
if
文が適しているよ- 条件分岐が複雑な場合
- 処理が複数行ある場合
- ネスト構造を使う場合
if
文の処理の中にさらにif
文があるような書き方だよそれをなるほど!単純な場合は
&&
でいいけど複雑ならif
文が便利ってことだね!今回は
if
文で条件によって処理を分けられることを学んだよ!次回は
if
文を使ったスクリプトを書いてみよう!