シェルスクリプトの if文で複数の条件を指定する

if文で複数の条件を指定する

シェルスクリプトでif文でAND条件やOR条件を複数指定したい場合ですが、以下のようにすればOKです

if文でAND条件の場合

AND条件では「条件1 -a 条件2」と条件を「-a」を付与して続ける方法と、[条件1] && [条件2]と「&&」でつなげればOKです

# [-a] を使用する場合
if [ $str1= "tori" -a $str2= "hato" ] ; then
     echo "$str1 ,$str2" # 真の時の処理
fi

# && を使用する場合
if [ $str1= "tori" ] && [ $str2= "hato" ] ; then
     echo "$str1 ,$str2" # 真の時の処理
fi

OR文でAND条件の場合

OR条件では「条件1 -o 条件2」と条件を「-o」を付与して続ける方法と、[条件1] || [条件2]と「||」でつなげればOKです

# [-o] を使用する場合
if [ $str1= "tori" -o $str2= "hato" ] ; then
     echo "$str1 ,$str2" # 真の時の処理
fi

# || を使用する場合
if [ $str1= "tori" ] || [ $str2= "hato" ] ; then
     echo "$str1 ,$str2" # 真の時の処理
fi