Shell ❀ 循环语句 您所在的位置:网站首页 嵌套循环语句 Shell ❀ 循环语句

Shell ❀ 循环语句

2023-01-01 02:29| 来源: 网络整理| 查看: 265

文章目录 五、循环语句1、for 循环1.1 带列表的for循环1.2 不带列表的for循环1.3 类C风格的for循环 2、while 循环2.1 循环体读取文件的三种方法2.2 循环类型 3、嵌套循环案例

五、循环语句 1、for 循环

for循环是编程语句中非常常见的一种循环,以列表为范围遍历其中变量,进行运算或执行某些命令以达到某些要求;for循环主要分为三种类型:带列表的for循环、不带列表的for循环、类C风格的for循环;

1.1 带列表的for循环 for variable in {list} #遍历列表中的变量 do #循环开始标识 statement1 #变量的声明1 statement2 #变量的声明2 ... done

此语法中,variable称为循环变量,list是一个列表,可以是一系列的数字或者字符串,元素直接使用空格间隔,do和done之家的语句称为循环体,即循环结果中重复执行的语句内容,for循环的循环次数与list元素的个数有关。

[root@localhost shell]# cat IP.sh #!/bin/bash for IP in 192.168.1.101 192.168.1.102 #for IP in 192.168.1.{1..10} #for IP in $(seq -f "192.168.1.10%1g" 1 5) #通过不同的遍历方式可以实现以固定步长增加数值 do echo $IP done [root@localhost shell]# sh a11.sh 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 1.2 不带列表的for循环 for variable do statement1 statement2 ... done

当循环代码块内不带list列表时,需要在调用脚本时定义遍历内容,否则产生报错;

[root@localhost shell]# cat a11.sh #!/bin/bash for IP do echo 192.168.1.$IP done [root@localhost shell]# ./a11.sh {1..10} 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9 192.168.1.10 1.3 类C风格的for循环 for ((expression1;expression2;expression3)) do statement1; statement2; ... done

此代码块中通过不同的运算符定义了不同的变量范围区间,以此为列表进行遍历;

[root@localhost shell]# cat ip_addr.sh #!/bin/bash for ((i=1;i /dev/null then echo "192.168.1.$i is up!!" else echo "192.168.1.$i is down!!" fi done 2、while 循环

while循环是另外一种常见的循环结构,使用while循环,可以使得用户重复执行一系列的操作,直到某个条件的发生。

while expression #当前的条件表达式 do statement1 #满足条件时的声明1 statement2 #满足条件时的声明2 done 2.1 循环体读取文件的三种方法

循环中若想引入文件内容,主要分为三种引入方法:采用exec命令读取文件、采用cat命令读取文件、采用输入重定向读取文件;

使用exec命令读取文件 exec 1..9} do [ $j -le $i ] && echo -n "$i*$j=`echo $(($i*$j))` " done echo " " done


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有