📜  Unix Linux-Shell循环类型(1)

📅  最后修改于: 2023-12-03 15:35:31.473000             🧑  作者: Mango

Unix/Linux-Shell循环类型

在Shell中,循环语句主要通过 forwhile 两种类型实现,本文将详细介绍Shell中的循环语句。

for循环
语法

Shell中的 for 循环语法如下:

for 变量名 in 取值列表
do
    循环体语句
done

其中,变量名 为循环计数器,取值范围为 取值列表 中的所有值。

例子

举一个例子:

#!/bin/bash

for i in {1..5}
do
    echo $i
done

这段代码将输出:

1
2
3
4
5

其中, {1..5} 表达式表示一个数字区间值,可以取到区间范围内的所有整数。

while循环
语法

Shell中的 while 循环语法如下:

while [ condition ]
do
    循环体语句
done

其中,condition 是运算结果为真(0)或假(非0)的表达式。当 condition 为真时,重复执行 dodone 之间的命令语句。

例子

举一个例子:

#!/bin/bash

count=1

while [ $count -le 5 ]
do
    echo $count
    ((count++))
done

这段代码将输出:

1
2
3
4
5

其中, -le 是 Shell 中常用的比较运算符之一,表示小于或等于(less than or equal to)。

until循环
语法

Shell中的 until 循环语法如下:

until [ condition ]
do
    循环体语句
done

其中,condition 是运算结果为真(0)或假(非0)的表达式。当 condition 为假时,重复执行 dodone 之间的命令语句。

例子

举一个例子:

#!/bin/bash

count=1

until [ $count -gt 5 ]
do
    echo $count
    ((count++))
done

这段代码将输出:

1
2
3
4
5

其中, -gt 是 Shell 中常用的比较运算符之一,表示大于(greater than)。

break 和 continue

在循环语句中,我们还可以使用 breakcontinue 命令。

break

break 命令用于跳出循环体。例如:

#!/bin/bash

for i in {1..5}
do
    if [ $i -eq 3 ]
    then
        break
    fi
    echo $i
done

这段代码将输出:

1
2

当循环计数器 $i 的值等于 3 时,循环执行被中断,不再输出后面的数值。

continue

continue 命令用于跳过循环体中的某一次迭代。例如:

#!/bin/bash

for i in {1..5}
do
    if [ $i -eq 3 ]
    then
        continue
    fi
    echo $i
done

这段代码将输出:

1
2
4
5

当循环计数器 $i 的值等于 3 时,这次循环被跳过,不再输出数值。