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 文を使ったスクリプトを書いてみよう!