本文概述
- 怎么运行的
- Bash 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”循环的参数可以是布尔表达式。
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."
输出量
文章图片
有多个条件的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."
输出量
文章图片
无限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
输出量
文章图片
在这里,我们使用了内置命令(:),该命令始终返回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
输出量
根据脚本,将循环分配为迭代十次。但是在八次迭代之后存在一个条件,该条件会中断迭代并终止循环。执行脚本后,将显示以下输出。
文章图片
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."
输出量
文章图片
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循环语句执行特定任务。