shell脚本for、while循环及脚本实操

该文详细介绍了bash脚本中for和while循环的用法,包括打印正方形、倒序99乘法表等示例。同时,展示了如何使用while循环处理不确定次数的循环,并给出了双重循环以及如何使用break和continue控制循环流程的实例。最后,文章通过一个菜单选择的案例演示了select语句的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

循环含义

for

例子

打印正方形

倒序99乘法表

while

基本格式

求和

双重循环及跳出循环

本层循环

菜单


循环含义

将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件

for

执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束,如果省略 [in WORDS ... ] ,此时使用位置参数变量 in "$@"

基本格式
for 已知循环次数

for  tlj(变量)   循环次数(取值列表)

do
需要循环的事件


done

例子

打印正方形

#!/bin/bash
for j in {1..9}
do
for i  in {1..9}
do
echo -e " * \c"
#\c换行
done
echo
#换行
done

倒序99乘法表

#!/bin/bash
for j in {1..9}
do
for i in `seq $[10-$j]`
do
echo -ne " ${i}x`echo $[10-j]`=$[(10 -j)*i]\t"
done
echo
done

while

用于不知道循环次数,需要主动结束循环或达到条件结束循环。

基本格式

while   [ 判断条件] 使用while循环满足条件执行do,不满足不执行 

do       

执行动作   while循环执行动作

done         while循环结束标志

求和

#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
let sum+=$i
let i+=2
done
echo $sum

双重循环及跳出循环

break跳出单个循环后面加数字2则代表跳出两层循环

continue终止某次循环中的命令,但是不会完全终止命令

本层循环

#!/bin/bash
for i in {1..10}
do
if [ $i -eq 5 ]
then continue 
fi
echo i=$i
done


#!/bin/bash
for i in {1..10}
do
if [ $i -eq 5 ]
then break
fi
echo i=$i
done

菜单

#!/bin/bash
sum=0
PS3="请输入(1-6):"
MENU="
宫保鸡丁
酸菜鱼
鱼香肉丝
佛跳墙
水煮肉片
点菜结束
"

select menu in $MENU
do
case $REPLY in
1)
echo $menu 价格是20
let sum+=20
;;
2)
echo $menu 价格是60
let sum+=60
;;


3)
echo $menu 价格是25
let sum+=25
;;

4)
echo $menu 价格是150
let sum+=150
;;

5)
echo $menu 价格是60
let sum+=60
;;

6)
echo "点菜结束"
break
;;

*)
echo "点菜错误,请重新选择"
;;

esac
done

echo "总价是$sum"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值