Bash

Bash 中有哪些不同类型的循环?

在 Bash 脚本中,循环是控制结构,允许您重复执行一段代码块,直到满足某个条件。循环对于自动化重复性任务、处理数据集合和执行迭代操作至关重要。了解 Bash 中可用的不同类型的循环对于编写高效有效的脚本至关重要。

Bash 中有哪些不同类型的循环?

Bash 中的循环类型

For 循环

for 循环是 Bash 中一种简单且常用的循环。它允许您迭代值列表或数字范围。for 循环的语法如下:

 for variable in list do commands done 
  • variable:用于迭代列表或范围的变量。
  • list:要迭代的值列表或数字范围。
  • commands:循环每次迭代要执行的命令。

例如,以下 for 循环迭代水果列表并打印每种水果:

 fruits=(apple banana orange) for fruit in "${fruits[@]}" do echo $fruit done 

While 循环

while 循环只要指定条件为真,就会重复执行一段代码块。while 循环的语法如下:

 while condition do commands done 
  • condition:确定循环是否继续执行的条件。
  • commands:循环每次迭代要执行的命令。
在的

例如,以下 while 循环继续打印从 1 到 10 的数字:

 i=1 while [ $i -le 10 ] do echo $i ((i++)) done 

Until 循环

until 循环类似于 while 循环,但它会重复执行一段代码块,直到指定条件变为假。until 循环的语法如下:

 until condition do commands done 
  • condition:确定循环是否继续执行的条件。
  • commands:循环每次迭代要执行的命令。
所有者技术创业

例如,以下 until 循环继续打印从 1 到 10 的数字,直到用户输入一个非数字值:

 read -p "Enter a number: " number until [[ $number =~ ^[0-9]+$ ]] do echo "Invalid input. Please enter a number." read -p "Enter a number: " number done echo "You entered $number." 

Do-While 循环

do-while 循环是 while 循环的一个变体,它在检查循环条件之前至少执行一次代码块。do-while 循环的语法如下:

 do commands done while condition 
  • commands:循环每次迭代要执行的命令。
  • condition:确定循环是否继续执行的条件。

例如,以下 do-while 循环继续打印从 1 到 10 的数字,即使用户输入了一个非数字值:

 read -p "Enter a number: " number do echo $number ((number++)) done while [[ $number -le 10 ]] 

嵌套循环

嵌套循环是循环中的循环。它们允许您执行复杂的迭代并处理具有多级的数据结构。嵌套循环可以通过组合不同类型的循环或多次使用相同类型的循环来创建。

例如,以下嵌套 for 循环迭代一个二维数组并打印每个元素:

 array=( [0,0]=1 [0,1]=2 [0,2]=3 [1,0]=4 [1,1]=5 [1,2]=6 [2,0]=7 [2,1]=8 [2,2]=9 ) for ((i=0; i<3; i++)) do for ((j=0; j<3; j++)) do echo ${array[$i,$j]} done done 

循环控制语句

循环控制语句允许您修改循环的流程。Bash 中最常用的两个循环控制语句是 breakcontinue

Break 语句

break 语句用于提前退出循环。遇到 break 语句时,循环会立即终止,执行继续进行循环后的语句。

例如,以下 for 循环使用 break 语句在 i 的值达到 5 时退出循环:

 for ((i=0; i<10; i++)) do if [ $i -eq 5 ] then break fi echo $i done 

Continue 语句

continue 语句用于跳过循环的当前迭代并继续进行下一个迭代。遇到 continue 语句时,当前迭代中剩余的语句将被跳过,循环继续进行下一个迭代。

例如,以下 while 循环使用 continue 语句跳过偶数:

 i=0 while [ $i -lt 10 ] do ((i++)) if [ $((i % 2)) -eq 0 ] then continue fi echo $i done 

循环是 Bash 脚本中的基本控制结构,允许您自动化重复性任务、处理数据集合和执行迭代操作。了解 Bash 中可用的不同类型的循环以及如何有效地使用它们对于编写高效有效的脚本至关重要。此外,循环控制语句使您能够修改循环的流程,从而使循环更加灵活。

要熟练使用 Bash 中的循环,重要的是要练习和试验不同的场景。您使用循环越多,您就越能理解它们的

Thank you for the feedback

留下回复