循环控制语句
1.break——跳出循环
1.1作用
循环控制语句: break 跳出循环 ,控制循环次数,执行break后,满足条件立即跳出当前循环,
例子:到3就跳出后面不执行
双层for循环:break后面不加默认1,break 2 及控制外循环也控制内循环,先停内循环,外循环一并停止,有几层循环break跟几次循环几次直接跳出控制几层写几层
只是跳过了当前3的条件
2.continue——控制循环
2.1作用
continue——————满足条件跳出当前循环,但是不影响后续循环执行,它的作用是在循环内部跳过本次循环并,继续下一次循环
什么都能不加只针对内循环,则循环打印1245,给2的值相当于及控制内也控制外,所以内循环在3跳出,外循环还要执行当外循环等于3的时候还要走,则在3跳出,再一次执行到3跳出
给2 的值跳出内循环的执行外面的外循环
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mK3kc041-1686641362502)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230530104508643.png)]
3.猜数字
$RANDOM 范围0-32767
表示1-100的随机数$((RANDIOM%100+1))
RANDIOM%表示取余
不加1 是0-99
num=$(($RANDOM%100+1))
for ((;;))
do
read -p "输入数字:" a
if [ $a -eq $num ]
then
echo "bingo"
break
elif [ $a -gt $num ]
then
echo "输入的数字太大啦!"
else
echo "输入的数字太小啦!"
fi
done
con=0
num=$(($RANDOM%100+1))
for ((;;))
do
let con++
read -p "输入数字:" a
if [ $a -eq $num ]
then
echo "bingo,一共猜了${con}次"
break
elif [ $a -gt $num ]
then
echo "输入的数字太大啦!"
else
echo "输入的数字太小啦!"
fi
done
4.while语句
4.1while语句的结构
格式:
while 条件测试操作
do
命令序列
done
for和while可以通用
用在写死循环上,只有条件不成立会退出
基本语法:
要让变量自加,循环外定义变量的初始值
定义死循环:while true 或 while [ 1 -eq 1]
4.2算1-10求和:
4.3使用while方式批量添加5个用户给这五个用户添加密码:
i=0
while [ $i -lt 5 ]
do
useradd stu${i}
echo "12345" | passwd --stdin stu${i}
if [ $? -eq 0 ]
then
echo "用户已添加成功"
else
echo "用户已存在"
fi
let i++
done
5.until语句
作用:当条件不满足才会退出,重复测试某个条件,只要条件不成立则反复执行
格式:
until 条件测试操作
do
命令序列
done
基本语法格式:
总结:for while until
for :主要用于已知循环次数
while:条件满足才执行循环,不满足就退出循环,在绝大多数情况下,while和for可以通用,while更好用在死循环
until:条件不满足才能循环,满足条件退出,一般不用
循环控制语句:
continue:跳出当前的循环,后续条件继续执行
break:跳出当前循环,结束整个循环
多个循环条件,后面可以跟上数字,默认1 2;控制两层,3——控制三层
6.拓展
6.1 购物
逛淘宝选购商品,每家商店有五种商品选购(
衣服500元,裤子400元,鞋子350元,帽子150元,袜子50元),
每次选购完或不买都会提示用户是否继续逛下一家商店,购买如果
不再继续逛的话进行购物车结算总额。
6.2shell 计算器实现加减乘除和取余
6.3打印出某个目录下的所有文件
6.4利用 for 循环将多个文本文件内容合并为一个文件
6.5使用三种方式写出1-100求和