收集云服务器优惠信息
记录云服务器使用心得

Linux系统使用Bash For Loop典型用法实例详解

在编程语言中,循环(Loops)是必不可少的组件,当你想要一遍又一遍地重复代码直到满足指定条件时使用。在Bash脚本中,循环扮演着几乎相同的角色,并用于自动执行重复性任务,就像在编程语言中一样。

在Bash脚本中,有3种类型的循环:for循环、while循环和until 循环。这三个用于迭代值列表并执行一组给定的命令。在本文中,主要介绍下Linux系统中的Bash For循环。

Bash For循环语法

如前所述,for循环遍历一系列值并执行一组Linux 命令。For循环采用以下语法:

for variable_name in value1 value2 value3  .. n
do
    command1
    command2
    commandn
done

接下来主要看看bash for循环的几个示例用法。

Bash For循环示例

在最简单的形式中,for循环采用以下基本格式。在此示例中,变量n遍历一组用花括号括起来的数值,并将它们的值打印到标准输出。

for n in {1 2 3 4 5 6 7};
do
   echo $n
done

Bash For循环示例

带有范围的Bash For循环

在前面的示例中,明确列出了要由for循环迭代的值,效果很好。但是,你可以想象一下,如果你迭代一百个值,这项任务会有多繁琐和耗时。这将迫使你键入从1到100的所有值。所以,要解决此问题,请指定一个范围。为此,请指定以两个句点分隔的开始和停止编号。

在此示例中,1是第一个值,而7是范围中的最后一个值。

#!/bin/bash

for n in {1..7};
do
   echo $n
done

执行shell脚本后,将列出范围内的所有值,类似于我们在简单循环中的情况。

带有范围示例的Bash For循环

此外,我们可以在范围的末尾包含一个值,该值将导致for循环以增量步骤迭代这些值。以下bash脚本打印1到7之间的值,从第一个值开始在这些值之间增加2个步长。

#!/bin/bash

for n in {1..7..2};
do
   echo $n
done

Bash For循环增量值

从上面的示例中,可以看到循环将花括号内的值递增了2个值。

Bash For数组循环

你还可以使用for循环轻松地遍历数组中定义的值。在以下示例中,for循环遍历fruits数组中的所有值并将它们打印到标准输出。

#!/bin/bash

fruits=("blueberry" "peach" "mango" "pineapple" "papaya") 

for n in ${fruits[@]}; 
do
    echo $n
done

Bash For循环数组示例

@操作员访问或定位所有元素,这使得一个一个地遍历所有元素成为可能。此外,你可以通过指定其在数组中的位置来访问单个元素。例如,要访问“ mango ”元素,请将@运算符替换为元素在数组中的位置(第一个元素从0开始,因此在这种情况下,“ mango ”将表示为2)。以下就是for循环的样子。

#!/bin/bash

fruits=("blueberry" "peach" "mango" "pineapple" "papaya") 

for n in ${fruits[2]}; 
do
    echo $n
done

Bash For循环与数组元素

C语音风格Bash循环

你可以在循环内使用变量来迭代一系列元素。这就是C语言风格Loop的用武之地。以下示例说明了这一点,它打印出从1到 7的数值列表。

#!/bin/bash

n=7
for (( n=1 ; n<=$n ; n++ )); 
do
    echo $n
done

Bash C For循环示例

C语言风格带有条件语句的Bash循环

你可以在C语言风格的for循环中包含条件语句。在下面的示例中,包含了一个if-else语句,用于检查并打印出1到7之间的偶数和奇数。

#!/bin/bash

for (( n=1; n<=7; n++ ))
do  
    # Check if the number is even or not
    if (( $n%2==0 ))
    then
        echo "$n is even"
    else
        echo "$n is odd"
    fi  
done

Bash C For循环条件语句示例

在Bash For Loop中使用“Continue”语句

“ continue ”语句是控制脚本运行方式的内置命令。除了bash脚本之外,它还用于Python和Java等编程语言。continue语句在满足特定条件时停止循环内的当前迭代,然后恢复迭代。可以看看如下所示的for循环。

#!/bin/bash
for n in {1..10}
do
        if [[ $n -eq '6' ]]
        then
              echo "Target $n has been reached"
              continue
        fi
        echo $n
done

Bash For循环继续语句示例

以下是代码的作用:

  • 第2行:标记for循环的开始并将变量n从1迭代到10。
  • 第4行:检查n的值,如果变量等于6,则脚本向标准输出回显一条消息并在第2行的下一次迭代中重新启动循环。
  • 第9行:仅当第4行的条件为假时才将值打印到屏幕。

以下是运行脚本后的预期输出。

Bash For循环继续语句输出

在Bash For Loop中使用’break’ 语句

顾名思义, “break”语句会在满足条件时停止或结束迭代,考虑下面的For循环。

#!/bin/bash
for n in {1..10}
do
        if [[ $n -eq '6' ]]
        then
                echo "Target $n has been reached"
                break
        fi
        echo $n
done
echo "All done"

Bash For循环中断语句

这是代码的作用:

  • 第2行:标记for循环的开始并将变量n从1迭代到10。
  • 第4行:检查n的值,如果变量等于6,则脚本向标准输出回显一条消息并停止迭代。
  • 第9行:仅当第4行的条件为假时才将数字打印到屏幕上。

从输出中可以看出,一旦变量满足循环条件,循环就会停止。

Bash For循环中断语句输出

结论

以上就是关于Linux系统中Bash For loops的一些基础知识内容,仅供参考,希望能够对大家有所帮助。众所周知,Bash中的for循环在脚本编程中非常有用,它的作用包括以下几个方面:

  1. 遍历列表:可以用来遍历一个预定义的列表,对列表中的每个元素执行相同的操作。这对于需要对一组文件、目录或其他项目进行处理时非常有用。
  2. 遍历范围:还可以用来遍历指定的数字范围。你可以设置一个初始值、一个终止条件和一个递增/递减步长,循环将依次执行指定范围内的操作。这对于需要进行一定次数的重复操作或迭代是非常有用的。
  3. 执行批量操作:能够在每次迭代中执行一系列操作,例如处理文件、调用命令、执行计算等。你可以根据需要在循环体中编写脚本代码,对每个项或每次迭代执行特定的任务。
  4. 自动化任务:使得自动化任务变得更加简单。你可以使用循环来处理多个文件、目录或其他项目,执行相同的任务,并自动化处理大量重复性工作。

总之,Bash中的for循环提供了一种方便的方式来遍历列表或范围,并执行一系列操作。它是编写脚本和自动化任务的强大工具,能够简化代码编写和处理重复性任务的过程。

赞(0)
网站声明:本文内容由趣云笔记原创,部分资源收集于网络,如有侵权请联系企鹅:2472781824删除。
文章名称:《Linux系统使用Bash For Loop典型用法实例详解》
文章链接:https://www.ecscoupon.com/634.html
本站资源仅供个人学习交流,未经允许不得转载,更不允许用于商业用途。如需转载,请注明来源,感谢理解!