Shell之循环语句 —— While&Until 实验

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

实验

实验一

Shell之循环语句 —— While&Until 实验_第1张图片Shell之循环语句 —— While&Until 实验_第2张图片Shell之循环语句 —— While&Until 实验_第3张图片

实验二

Shell之循环语句 —— While&Until 实验_第4张图片

While循环求和

Shell之循环语句 —— While&Until 实验_第5张图片

Until循环求和

Shell之循环语句 —— While&Until 实验_第6张图片

实验三

Shell之循环语句 —— While&Until 实验_第7张图片

Shell之循环语句 —— While&Until 实验_第8张图片

实验四

Shell之循环语句 —— While&Until 实验_第9张图片

你可能感兴趣的:(linux)