Shell编程之循环语句

目录

一、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};
do
 sum=$(($i+$sum))
done
 echo "$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 ];
then
 echo "和等于: $num"
sum=0
elif [ $num -gt 1 ]&& [ $num -lt 100 ];
then
 for ((i=l;i<$num; i++))
do
 let sum=$sum+$i
 done
 echo "1到$num的和为$sum"
else
 echo "输入错误"
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=0

while [ $i -le 100 ]
do
 sum=$[ $sum + $i ]
 i=$[ i + 1 ]
done
 echo "1-100所有整数的和为:" $sum

[root@localhost ~]# chmod +x w1.sh
[root@localhost ~]# bash w1.sh
1-100所有整数的和为: 5050

 提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和

[root@localhost ~]# vim w2.sh
  1 #!/bin/bash
  2 #提示用户输入一个小于100的整数,并计算从1到该数之间所有整数的和
  3 
  4 sum=0
  5 i=1
  6 
  7 
  8 read -p "快点!输入一个0-100的整数: " num
  9  if [ $num -le 100 ];then
 10  while [ $i -le $num ]
 11 do
 12  sum=$[ sum + i ]
 13 i=$[ i + 1 ]
 14  done
 15   echo "1-$num的和为: $sum"
 16    else
 17   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=0

 until [ $i -gt 100 ]
do
  sum=$[sum+i]
  let i++
done
  echo "输出1到100的和:$sum"
                 
[root@localhost ~]# chmod +x u1.sh
[root@localhost ~]# bash u1.sh
输出1到100的和:5050


 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值