Bashでif文を利用する
構文
Bashにおけるif文の使い方。
1 2 3 | if [条件式]; then 処理 fi |
条件式が真(true)であれば、処理が実行さる。
複数の条件式を指定したい場合は、elifを使う。
1 2 3 4 5 | if [条件式1]; then 処理1 elif [条件式2]; then 処理2 fi |
この場合、条件式1が真であれば処理1が実行され、条件式1が偽で、条件式2が真であれば処理2が実行される。
条件式にマッチしなかった場合の処理を指定したい場合は、elseを使う。
1 2 3 4 5 6 7 | if [条件式1]; then 処理1 elif [条件式2]; then 処理2 else 処理3 fi |
この場合、条件式1と2が偽の場合、処理3が実行される。
サンプル
以下はサンプルスクリプト。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #!/bin/bash function if_test { echo "Argument is $1" if [ $1 = "aaa" ]; then echo "do 1" elif [ $1 = "bbb" ]; then echo "do 2" else echo "do 3" fi } argument=aaa if_test $argument argument=bbb if_test $argument argument=ccc if_test $argument |
実行結果。
1 2 3 4 5 6 7 | -bash-3.2$ ./test_if.sh Argument is aaa do 1 Argument is bbb do 2 Argument is ccc do 3 |