for语句
读取不同变量值,用来逐个执行同一组命令
for 循环 指定次数循环(遍历)
格式: for 变量名 in 取值列表
do
命令序列
done
例题
输入1-100之间的整数并计算整数和
[root@localhost ~]# vim zheng.sh //输入一个.sh文件
#!/bin/bash //脚本声明
sum=0 //定义一个变量和
read -p "请输入一个0-100之间的整数:" a //使用read命令获取输入内容为变量a赋值
for ((i=1;i<=$a;i++)) //for循环,i=1,循环次数小于等于变量a的值,i每次循环加1
do
sum=$[$sum + $i]
done
echo $sum //输出和的值
[root@localhost ~]# bash zheng.sh //通过bash运行zheng.sh文件
请输入一个0-100之间的整数:12 // 当输入12时表示从1-12之间的数相加得出来的数
78
[root@localhost ~]# bash zheng.sh
请输入一个0-100之间的整数:32
528
偶数和
[root@localhost ~]# vim s.sh //编辑一个文件
#!/bin/bash //脚本声明
sum=0
for i in {1..100} //数的取值范围
do
if [ $((i%2)) -eq 0 ];then //偶数的表达式
sum=$[$i+$sum]
fi
done
echo $sum //输出和的值
[root@localhost ~]# bash s.sh
2550 //通过bash运行可以查看1-100之间的偶数和值
while语句
重复测试某个条件,只要条件成立立刻执行
while 语句
格式:
while 条件测试操作
do
命令序列
done

例题
1–10循环
[root@localhost ~]# vim chengfa.sh
#!/bin/bash
num=1
while [ $num -le 10 ]
do
echo $num
let num++
done
[root@localhost ~]# bash chengfa.sh
1
2
3
4
5
6
7
8
9
10
1–100的偶数和
[root@localhost ~]# vim os.sh
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
if [ $((i%2)) -eq 0 ];then
let sum=$i+$sum
fi
let i++
done
echo $sum
[root@localhost ~]# bash os.sh
2550
猜数字
[root@localhost ~]# vim chengfa.sh
#!/bin/bash
n=30
while true
do
read -p "请输入一个数字:" num
if [ $num -eq $n ];then
echo "你猜对了"
break
elif [ $num -gt $n ];then
echo "你猜大了,在小点"
elif [ $num -lt $n ];then
echo "你猜小了,在往大点的猜"
fi
done
[root@localhost ~]# bash chengfa.sh
请输入一个数字:10
你猜小了,在往大点的猜
请输入一个数字:40
你猜大了,在小点
请输入一个数字:30
你猜对了
until
重复测试某个条件,只要条件不成立反复执行
until 语句:重复测试某个条件,条件不成立则一直执行
until 条件测试
do
命令序列
done

例题
[root@localhost ~]# vim until_1~50.sh
#!/bin/bash
sum=0
i=1
until [ $i -gt 50 ]
do
sum=$[$sum + $i ]
let i++
done
echo "1~50的和为$sum"
[root@localhost ~]# bash until_1~50.sh
1~50的和为1275
本文详细介绍了Shell脚本中的for、while和until循环语句的使用方法及示例,包括计算1-100整数之和、筛选偶数之和等应用场景。同时,展示了猜数字游戏的实现,以及until循环用于计算1-50的和。这些内容对于理解Shell脚本的控制流程至关重要。
1343

被折叠的 条评论
为什么被折叠?



