While
While循环语句:满足条件才会执行循环,不满足就结束,用于不知道循环次数,需要主动结束循环或者达到条件循环的场景
While的结构
while(条件判断)——do —— 命令序列 —— done
如:用while循环语句求出1-100的总和
[rootalocalhost opt]# vim sum.sh
i=l
sum=0
while [ si -le 100 ]
do
Sum=$(($sum+$i))
let i++
done
echo "$sum"
[rootalocalhost opt]# sh 10.sh
5050
在命令序列结尾加上 “let i++”,为了防止死循环。
死循环
while true —— 就是写死循环的方法
随机数变量表达:$RANDOM表示随机生成一个数字
例:猜数字
[root@localhost opt]# vim 13.sh
num=$(($RANDOM%100+1))
time=0
while true
do
read -p "请输入一个整数:" num1
let time++
if [ $num -eq $num1 ]
then
echo "你猜对了"
echo "一共猜了${time}次"
break
elif [ $num1 -gt $num ]
then
echo "你猜大了"
else
echo "你猜小了"
fi
done
[root@localhost opt]# sh 13.sh
请输入一个整数:50
你猜小了
请输入一个整数:80
你猜大了
请输入一个整数:60
你猜小了
请输入一个整数:70
你猜大了
请输入一个整数:65
你猜大了
请输入一个整数:63
你猜大了
请输入一个整数:62
你猜对了
一共猜了7次
RANDOM%+1:表示系统在1-100范围之间随机生成一个数字,用户猜大或猜小了都会有提示,猜对了并提升你共猜了几次。
Until
Until语句用来重复测试某个语句,只要当判断条件不成立时就进行循环,条件成立时终止循环
Until语句格式
until [条件测试语句] —— do —— 命令序列 —— done
与While语句格式相似
例:算1-100的总和
[rootalocalhost opt]# vim sum.sh
5050
i=0
sum=0
until [ $i -gt 10 ]
do
sum=$(($i+ssum))
let i++
done
echo $sum
[rootalocalhost opt]# sh sum.sh
5050
实验
实验一
实验二
While循环求和
Until循环求和