codecamp

Bash while循环

while循环可以定义为控制流语句,只要您所应用的条件为真,该语句就允许重复执行您给定的命令集。

基础

语法:

while [ expression ];
do
commands;
multiple commands;
done

注:
expression可包含多个条件。
只要条件评估为真,do···done之间的命令会重复执行。
while循环的参数可以是布尔表达式。
若条件始终判断为true,则进入无限循环,可使用Ctrl + C终止循环。

运作规则:

  1. 检查条件,若判断为true,执行该条件后的命令集;若判断为false,退出循环。 2.在循环结束(包括退出循环)后,将程序控制权交给另一个命令。

while 循环 — break 语句

您可以通过 break 语句可以终止 while 循环的重复性任务,如下示例:

#!/bin/bash
#While Loop Example with a Break Statement


echo "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

执行后得到以下结果:

10
9
8
7
6
5
4
3

注:
本次循环在第八次迭代写入了一个条件,为该条件给定了一个break语句中止迭代,并退出循环。

while 循环 — continue 语句

您可以通过 continue 语句在 while 循环中以特定条件跳过该条件下的迭代,如下示例:

#!/bin/bash
#While Loop Example with a Continue Statement


i=0
while [ $i -le 10 ]
do
((i++))
if [[ "$i" == 5 ]];
then
    continue
fi
echo "Current Number : $i"
done

执行后得到以下结果:

1
2
3
4
6
7
8
9
10
11

注:
在第五次循环写入了条件,为该条件给定了一个continue语句跳过本次迭代。

Bash for循环
Bash until循环
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }