文字列の一致とif文におけるOR
そういえば文字列の一致を取る方法を知らなかった.更に条件文(test)の中でORを取る方法を知らなかった.というわけでふたつを取り入れたサンプルプログラム
for str in hoge fuga piyo do if [ "$str" = "hoge" -o "$str" = "piyo" ]; then echo "hoge or piyo" else echo "fuga" fi done
注意するのは,$strをダブルクオーテーションで囲むこと.これは$strが変数展開されたときにだぶるクォーテーションが無いと,文字列として判断してくれないからだそう
test hoge = "hoge" # 間違った使い方 test "hoge" = "hoge" # 正しい使い方
ORはなんと-oで条件式をくっつけられる.