shell until 循环

until循环的使用方法和while循环类似,两者的区别是:until的循环判断条件和while循环正好相反,以数字累加求和为例,while循环的实现方式如下:

root@pc:/home/demo# cat hello.sh 
#!/bin/bash

echo input a num:
read num
sum=0
i=1
while ((i<=$num))
do
    ((sum +=i))
    ((i++))
done
echo "sum = $sum"

root@pc:/home/demo# ./hello.sh 
input a num:
100
sum = 5050

改用until循环来实现的代码如下:

root@pc:/home/demo# cat hello.sh 
#!/bin/bash

echo input a num:
read num
sum=0
i=1
until ((i>$num))
do
    ((sum +=i))
    ((i++))
done
echo "sum = $sum"


root@pc:/home/demo# ./hello.sh 
input a num:
100
sum = 5050

until循环的条件是:一直循环,直到until后面的条件判断成立,才结束循环。而while循环的条件是:当while后面的条件判断成立,才继续循环。搞明白了这两个循环的判断逻辑,你也就明白了为什么这两个循环的条件判断表达式是相反的。

《Linux三剑客》视频教程:Linux下开发工具vim、Git、Makefile、autotools、qemu、debug精讲,从零开始一步一步写项目的Makefile,提供企业级Makefile模板,Git操作实战,vim从新手到高手,一步一步打造类似Source Insight的IDE!详情点击:王利涛老师个人淘宝店:Linux三剑客