目录
一、for循环
for循环实操
二、while循环
while循环实操
三、until循环命令
until循环实操
一、for循环
- 读取不同的变量值,用来逐个执行同一组命
for 变量 in 取值列表
do
命令序列
done
[root@localhost ~]# for i in 1 2 3 4 5
> do
> echo "第$i次唱!跳!rap 篮球!"
> done
第1次唱!跳!rap 篮球!
第2次唱!跳!rap 篮球!
第3次唱!跳!rap 篮球!
第4次唱!跳!rap 篮球!
第5次唱!跳!rap 篮球!
[root@localhost ~]# for i in {1..5}
> do
> echo "$i次鸡你太美"
> done
1次鸡你太美
2次鸡你太美
3次鸡你太美
4次鸡你太美
5次鸡你太美
for (变量-初始值;变量范围;变量的迭代方式)
do
命令序列
done
[root@localhost ~]# for ((i=1;i<=8;i++))
> do
> echo $i
> done
1
2
3
4
5
6
7
8
[root@localhost ~]# echo $i
9
for循环实操
1.计算从1到100所有整数的和
[root@localhost ~]# chmod +x 1.sh
[root@localhost ~]# vim 1.sh
#!/bin/bash
#计算从1到100所有整数的和sum=0
for i in {1..100};
dosum=$(($i+$sum))
doneecho "$sum"[root@localhost ~]# chmod +x 1.sh
[root@localhost ~]# ./1.sh
5050
[root@localhost ~]#
2.提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
[root@localhost ~]# vim 2.sh
#!/bin/bash
#输入一个小于100的整数,并计算从1到该数之间所有整数的和read -p "请输入一个小于100的整数:" num
if [ $num -eq 1 ];
thenecho "和等于: $num"
sum=0
elif [ $num -gt 1 ]&& [ $num -lt 100 ];
thenfor ((i=l;i<$num; i++))
dolet sum=$sum+$idoneecho "1到$num的和为$sum"
elseecho "输入错误"
fi[root@localhost ~]# chmod +x 2.sh
[root@localhost ~]# ./2.sh
请输入一个小于100的整数:25
1到25的和为300
二、while循环
重复测试某个条件,只要条件成立则反复执行
[root@localhost ~]# a=1
[root@localhost ~]# while [ $a -le 8 ]
> do
> echo $a
> let a++
> done
1
2
3
4
5
6
7
8
while循环实操
计算从1到100所有整数的和
[root@localhost ~]# vim w1.sh
#!/bin/bash
#计算从1到100所有整数的和sum=0
i=0while [ $i -le 100 ]
dosum=$[ $sum + $i ]i=$[ i + 1 ]
doneecho "1-100所有整数的和为:" $sum[root@localhost ~]# chmod +x w1.sh
[root@localhost ~]# bash w1.sh
1-100所有整数的和为: 5050
提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
[root@localhost ~]# vim w2.sh1 #!/bin/bash2 #提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和3 4 sum=05 i=16 7 8 read -p "快点!输入一个0-100的整数: " num9 if [ $num -le 100 ];then10 while [ $i -le $num ]11 do12 sum=$[ sum + i ]13 i=$[ i + 1 ]14 done15 echo "1-$num的和为: $sum"16 else17 echo "昏头了呀你!小于100的整数"18 fi[root@localhost ~]# chmod +x w2.sh
[root@localhost ~]# bash w2.sh
快点!输入一个0-100的整数: 80
1-80的和为: 3240
三、until循环命令
重复测试某个条件,只要条件不成立则反复执行
until [ $i -gt 10 ];do
echo $i
let i++
sum=$(($sum+$i))
done
until循环实操
用until循环求1到100的和
[root@localhost ~]# vim u1.sh
#!/bin/bash
#用until循环求1到100的和sum=0
i=0until [ $i -gt 100 ]
dosum=$[sum+i]let i++
doneecho "输出1到100的和:$sum"[root@localhost ~]# chmod +x u1.sh
[root@localhost ~]# bash u1.sh
输出1到100的和:5050