一、if 条件
then 命令
elif 条件
then 命令 ...
else
命令
fi
[root@vm-paas scwyfy]# cat ifelifelse.sh
#!/bin/bash
read -p "请输入考试成绩 " s
if ((${s} >= 0 && ${s} < 60))
then
echo "不及格"
elif [[ (${s} > 60 || ${s} == 60) && ${s} < 70 ]]
then
echo "及格"
elif ((s >= 70 && s < 80))
then
echo "中等"
elif (( s >= 80 && s < 90))
then
echo "良好"
elif ((s >= 90 && s <= 100))
then
echo "优秀"
else
echo "输入的成绩非法!"
fi
[root@vm-paas scwyfy]#
二、case 变量值 in
匹配模式1)
命令1
命令2...
;;
匹配模式2)
...
;; // 表示结束
*) // 表示未匹配就走这个
命令1
命令2...
;;
esac // 结束
[root@vm-paas scwyfy]# cat case.sh
#!/bin/bash
read -p "请输入0-7的数字: " number
case $number in
1)
echo "星期一"
;;
2)
echo "星期二"
;;
3)
echo "星期三"
;;
4)
echo "星期四"
;;
5)
echo "星期五"
;;
6)
echo "星期六"
;;
7|0)
echo "星期日"
;;
*)
echo "无效数字"
;;
esac
三、 while 条件
do
命令1
命令2...
continue //跳过此次循环
break // 终止循环
done
[root@vm-paas scwyfy]# cat while.sh
#!/bin/bash
read -p "请输入循环的次数:" number
i=0
while ((i < number ))
do
let i++
if ((i == 3))
then
echo "跳过打印循环${i}"
continue
fi
if ((i == 5))
then
echo "终止${i}后面的循环"
break
fi
echo "循环${i}"
done
echo "循环结束"
四、for 值 in 值列表
do
命令1
命令2...
done
[root@vm-paas scwyfy]# cat for.sh
#!/bin/bash
for i in 1 3 5 7
do
echo "hello${i}"
done
五、select 值 in 值列表
do
命令1
命令2
...
break // 必须要用,不然要一直循环下去
done
[root@vm-paas scwyfy]# cat select.sh
#!/bin/bash
echo "您的爱好是什么?"
select hobby in "编程" "游戏" "运动" "篮球"
do
case $hobby in
编程)
echo "努力吧"
break
;;
游戏)
echo "远离游戏"
break
;;
运动|篮球)
echo "运动挺好"
break;
;;
*)
echo "输入有误"
break
;;
esac
done
echo "您的爱好是${hobby}"