您的位置:首页 > 运维架构 > Shell

Linux系统shell脚本编程(五)

2017-12-29 00:00 288 查看


嗨,大家好,前面两周主要讲解了shell脚本的判断,分为:单分支判断、双分支判断以及多分支判断。而在上周,也已经学习过了最常见的多分支判断的两种方式:if结构和case结构。以上就是前面大概的总结了,而今天这篇文章,我们来讲一下循环。上篇文章:https://bbs.77169.com/forum.php? ... &extra=page=1

废话不多说,先来一个小例子
先来一个while…do…的例子


 

第一行这里先设置一个变量;第二行的意思是当变量a小于等于20时,便做下列循环,注意这里要做大于小于等于之类的条件时,需要使用双重小括号;第三行输出变量a;第四行是复合第二行条件时,变量a加1,a 的意思就是增加1;最后是done,结束。
先来运行一下,看结果是什么样子的


 

可以看到,当变量a在小于等于20的时候,输出一次然后加1,一直到20,这就是一个简单的循环例子。

上例的双重小括号,也可以用中括号代替,用中括号代替后,符号也就不能用了,取而代之的各类参数,先给大家说一下:
-eq是== 等于      -ne是!= 不等于      -gt是> 大于      -ge是>= 大于等于      -lt是< 小于      -le是<= 小于等于
所以刚才的例子中的双重小括号里的语言,也可以替换成下图


 

注意中括号里的每个参数之间要用空格隔开,来运行一下结果看


 

除了while循环外,还有until和for两种循环。until循环的语法和while是一样的,while和until的区别在于,while是当条件成立时进行循环,而until则是当条件不成立时进行循环,看下例:


 

我们只是把while替换成了until,并没有修改别的,条件现在是当变量a小于等于20时,便做下列循环,现在这个条件是成立的,现在来运行一下


 

没有返回任何结果,因为until只能为不成立的条件进行循环,现在修改一下试试


 

这样便是 变量a大于等于20这个条件不成立时,进行循环,这样再来运行一下结果


 

当变量增加至19时,就停止了,因为再增加到20时,便就和条件里大于等于20成立了,所以就停止了循环。

然后我们再试一下把循环和判断结合在一起试试看


 

我在while语句原有的基础上加了判断,相信大家应该能看明白是什么意思,直接来看结果吧


 

今天就讲到这里,今天讲了while和until两种循环,下周我们再来学习for循环,大家拜拜!
你会喜欢
Linux系统shell脚本编程(二)
Linux系统shell脚本编程(三)
Linux系统shell脚本编程(四)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: