shell编程之循环语句

一、for循环

for循环:读取不同的变量,用来逐个执行同一命令
for循环的几种使用方式:

第一种:
for i in 1 2 3for i in {1..3}
do 
  命令序列
done
第二种:
for i in `seq 3` #3表示取值为1-3
do
  命令序列
done
第三种:
for ((i=1;i<=3;i++)) #i=1表示第一次取值为1;i<=3表示循环到3时结束循环;i++表示每次循环加1
do
  命令序列
done    

实例

#!/bin/bash
#ping网段网址
for ((i=1;i<256;i++))
do
ping -c 1 192.168.238.$i &>/dev/null
if [ $? -eq 0 ];then
 echo "通"
else
 echo "不通"
fi
done

二、while循环

while循环:重复测试某个条件,只要条件成立则反复执行

while truewhile : #死循环
do
  命令序列
break #退出当前循环 
continue #退出当先流程,不执行后面的内容,开始循环前面的内容
exit #执行一次后直接退出脚本,但不执行结束符后的内容。后面可以跟指定返回码
done  

实例

#!/bin/bash
#求100内的偶数和
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

三、until循环

until循环:重复测试某个条件,只要条件不成立反复执行

until false #死循环,返回状态值固定为1
do
  命令序列
done  

四、实验

#!/bin/bash
#打印出三个数1,2,3的所有三位数的组合
for ((q=1;q<=3;q++))
do
      for ((w=1;w<=3;w++))
      do
            for ((e=1;e<=3;e++))
            do
            echo -n $""$q""$w""$e" "
            done
      done
echo
done

在这里插入图片描述

#!/bin/bash
#制作99乘法表

num=0
for ((i=1;i<10;i++))
do
        for ((j=1;j<=$i;j++))
        do
        num=$(($i*$j))
        echo -n -e "$j*$i=$num\t "
        done
echo  
done

在这里插入图片描述

#!/bin/bash
#创建等腰三角形

read -p "请确认等腰三角的结构:" num
for i in `seq $num`
do
       for ((j=$num;j>i;j--))
       do
       echo -n " "
       done

       for l in `seq $i`
       do
       echo -n "* "
       done
echo
done

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值