bash while循环

本文概述

  • 怎么运行的
  • Bash While循环示例
  • 结论
在本主题中,我们演示了如何在Bash Script中使用while循环语句。
bash while循环可以定义为控制流语句,只要应用条件评估为true,该语句就允许重复执行给定的命令集。例如,我们可以运行多次echo命令,也可以仅逐行读取文本文件,然后使用Bash中的while循环处理结果。
Bash While循环的语法
Bash while循环具有以下格式:
while [ expression ]; do commands; multiple commands; done

仅当表达式包含单个条件时,以上语法才适用。
如果表达式中包含多个条件,则while循环的语法如下:
while [ expressions ]; do commands; multiple commands; done

while循环单行语法可以定义为:
while [ condition ]; do commands; done while control-command; do Commands; done

“ while循环”语句有一些关键点:
  • 在执行命令之前检查条件。
  • “ while”循环还可以执行“ loop”可以完成的所有工作。
  • 只要条件评估为真,“ do”和“ done”之间的命令就会重复执行。
  • “ while”循环的参数可以是布尔表达式。
怎么运行的while循环是一个受限的输入循环。这意味着在执行while循环的命令之前先检查条件。如果条件评估为真,则执行该条件之后的命令集。否则,循环终止,并将程序控制权交给“ done”语句之后的另一个命令。
Bash While循环示例以下是bash while循环的一些示例:
单条件的While循环
在此示例中,while循环与表达式中的单个条件一起使用。这是while循环的基本示例,它将根据用户输入打印一系列数字:

#!/bin/bash #Script to get specified numbersread -p "Enter starting number: " snum read -p "Enter ending number: " enumwhile [[ $snum -le $enum ]]; do echo $snum ((snum++)) doneecho "This is the sequence that you wanted."

输出量
bash while循环

文章图片
有多个条件的While循环
以下是在表达式中具有多个条件的while循环的示例:

#!/bin/bash #Script to get specified numbersread -p "Enter starting number: " snum read -p "Enter ending number: " enumwhile [[ $snum -lt $enum || $snum == $enum ]]; do echo $snum ((snum++)) doneecho "This is the sequence that you wanted."

输出量
bash while循环

文章图片
无限While循环
无限循环是没有结束或终止的循环。如果条件始终评估为true,则会创建一个无限循环。循环将连续执行,直到使用CTRL C强行停止循环为止:

#!/bin/bash #An infinite while loopwhile : do echo "Welcome to srcmini." done

我们也可以将上述脚本写成一行:
#!/bin/bash #An infinite while loopwhile :; do echo "Welcome to srcmini."; done

输出量
bash while循环

文章图片
在这里,我们使用了内置命令(:),该命令始终返回true。我们还可以使用内置命令true来创建无限循环,如下所示:

#!/bin/bash #An infinite while loopwhile true do echo "Welcome to srcmini" done

该bash脚本还将提供与上述无限脚本相同的输出。
注意:无限循环可以通过使用CTRL C或在脚本内添加一些条件退出来终止。带有Break语句的While循环
根据所应用的条件,可以使用break语句来停止循环。例如:

#!/bin/bash #While Loop Example with a Break Statementecho "Countdown for Website Launching..." i=10 while [ $i -ge 1 ] do if [ $i == 2 ] then echo "Mission Aborted, Some Technical Error Found." break fi echo "$i" (( i-- )) done

输出量
根据脚本,将循环分配为迭代十次。但是在八次迭代之后存在一个条件,该条件会中断迭代并终止循环。执行脚本后,将显示以下输出。
bash while循环

文章图片
While循环,带有Continue语句
continue语句可用于在while循环内跳过特定条件的迭代。

#!/bin/bash #While Loop Example with a Continue Statementi=0 while [ $i -le 10 ] do ((i++)) if [[ "$i" == 5 ]]; then continue fi echo "Current Number : $i" doneecho "Skipped number 5 using Continue Statement."

输出量
bash while循环

文章图片
C风格的While循环
我们还可以在bash脚本中编写while循环,就像在C编程语言中编写while循环一样。

#!/bin/bash #While loop example in C stylei=1 while((i < = 10)) do echo $i let i++ done

输出量
bash while循环

文章图片
结论【bash while循环】在本主题中,我们讨论了如何在Bash中使用while循环语句执行特定任务。

    推荐阅读