Bash 循环 与其他编程语言一样,循环在 Bash 中也非常方便。你可以使用 循环、 循环和 循环。 for 循环 以下是 for 循环的结构: 示例: 让我们快速回顾一下这个示例: 首先,我们指定一个用户列表,并将该值存储在名为 的变量中。 接着,我们使用 关键字启动我们的 循环。 然后,我们定义一个新的变量,用于表示我们提供的列表中的每个项目。在本例中,我们定义了一个名为 的变量,然后使用 和 关键字来完成循环。 你还可以使用 来处理一系列数字。例如,以下是一种从 1 到 10 进行循环的方法: while 循环 while 循环的结构与 循环非常相似: 以下是一个 循环的示例: 首先,我们定义了一个计数器变量,并将其初始化为 ,然后使用 在 的条件下进行循环。
与其他编程语言一样,循环在 Bash 中也非常方便。你可以使用 for 循环、while 循环和 until 循环。
以下是 for 循环的结构:
for var in ${list} do your_commands done
示例:
#!/bin/bash users="devdojo bobby tony" for user in ${users} do echo "${user}" done
让我们快速回顾一下这个示例:
$users 的变量中。for 关键字启动我们的 for 循环。user 的变量,然后使用 in 和 do...done 关键字来完成循环。你还可以使用 for 来处理一系列数字。例如,以下是一种从 1 到 10 进行循环的方法:
#!/bin/bash for num in {1..10} do echo ${num} done
while 循环的结构与 for 循环非常相似:
while [ your_condition ] do your_commands done
以下是一个 while 循环的示例:
#!/bin/bash counter=1 while [[ $counter -le 10 ]] do echo $counter ((counter++)) done
首先,我们定义了一个计数器变量,并将其初始化为 1,然后使用 ((counter++)) 在 [[ $counter -le 10 ]] 的条件下进行循环。
让我们创建一个脚本,要求用户输入姓名,并且不允许空输入:
#!/bin/bash read -p "What is your name? " name while [[ -z ${name} ]] do echo "Your name can not be blank. Please enter a valid name!" read -p "Enter your name again? " name done echo "Hi there ${name}"
现在,如果你运行上述脚本并直接按回车键而不提供任何输入,循环会再次运行,并不断提示你输入姓名,直到你实际提供一些输入为止。
until 循环与 while 循环的区别在于,until 循环会一直执行循环体内的命令,直到条件变为真。
结构:
until [[ your_condition ]] do your_commands done
示例:
#!/bin/bash count=1 until [[ $count -gt 10 ]] do echo $count ((count++)) done
与其他语言类似,你可以使用 continue 和 break。continue 告诉你的 Bash 脚本停止当前循环迭代,并立即开始下一次迭代。
continue 语句的语法如下:
continue [n]
参数 [n] 是可选的,可以是大于或等于 1 的整数。当指定了 [n] 时,将恢复第 n 层封闭循环。continue 1 等价于 continue。
#!/bin/bash for i in 1 2 3 4 5 do if [[ $i -eq 2 ]] then echo "skipping number 2" continue fi echo "i is equal to $i" done
我们也可以以类似于 break 的方式使用 continue 来控制多个循环。
break 告诉你的 Bash 脚本立即终止循环。break 语句的语法如下:break [n]
[n] 是一个可选参数,必须大于或等于 1。当提供了 [n] 时,将退出第 n 层封闭循环。break 1 等价于 break。
示例:
#!/bin/bash num=1 while [[ $num -lt 10 ]] do if [[ $num -eq 5 ]] then break fi ((num++)) done echo "Loop completed"
我们还可以在多个循环中使用 break。如果我们想退出当前正在运行的循环(无论内层还是外层循环),只需使用 break;但如果我们在内层循环中,并希望退出外层循环,则使用 break 2。
示例:
#!/bin/bash for (( a = 1; a < 10; a++ )) do echo "outer loop: $a" for (( b = 1; b < 100; b++ )) do if [[ $b -gt 5 ]] then break 2 fi echo "Inner loop: $b " done done
Bash 脚本将从 a=1 开始,进入内层循环;当 b=5 时,它将中断外层循环。
我们也可以只使用 break 而不使用 break 2,来中断内层循环,并查看这对输出的影响。
免责声明:
本文件由基于人工智能的机器翻译服务翻译而成。尽管我们力求翻译准确,但请注意,自动翻译可能包含错误或不准确之处。应以原始语言版本的文件为准。对于关键信息,建议使用专业的人工翻译。对于因使用本翻译而产生的任何误解或误读,我们概不负责。