多重判断语法elif,else if。只能选1
if 条件1; then
#命令,条件1成立执行
elif 条件2;then
#命令,条件1不成立,条件2成立执行
elif 条件3;then
#命令,条件1不成立,条件2不成立,条件3成立执行
else
#命令 ,以上条件都不成立执行
fi
案例如下,只能进入一个命令块
number1=100
if [ $number1 -le 0 ];then
echo "$number1 <= 0"
elif [ $number1 -le 10 ];then
echo "$number1 > 0"
echo "$number1 <= 10"
else
echo "$number1 > 10"
fi
字符串案例
choice="No"
if [ "$choice" == "no" ] || [ "$choice" == "No" ];then
echo "choice is no"
elif [ "$choice" == "yes" ];then
echo "choice is yes"
else
echo "not no not yes"
fi
if做多重判断有个问题,就是当条件比较多的时候比较麻烦,可以借用case去改善它。
case多重判断语法,case还支持正则,后续会讲解正则
choice="justdoit"
case "$choice" in
"yes" | "Yes")
echo "in yes";;
"no" | "No")
echo "in no";;
"jackin" | "justdoit")
echo "in jackin";;
*)
echo "in other other";;
esac