嗨,大家好,前面两周主要讲解了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循环,大家拜拜!