Linux系统shell脚本编程(五)

时间:2021-10-22 08:49:48

Linux系统shell脚本编程(五)


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



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


Linux系统shell脚本编程(五) 


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


Linux系统shell脚本编程(五) 


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


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


Linux系统shell脚本编程(五) 


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


Linux系统shell脚本编程(五) 

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


Linux系统shell脚本编程(五) 


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


Linux系统shell脚本编程(五) 


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


Linux系统shell脚本编程(五) 


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


Linux系统shell脚本编程(五) 


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

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


Linux系统shell脚本编程(五) 


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


Linux系统shell脚本编程(五) 

今天就讲到这里,今天讲了while和until两种循环,下周我们再来学习for循环,大家拜拜!

你会喜欢


Linux系统shell脚本编程(二)

Linux系统shell脚本编程(三)

Linux系统shell脚本编程(四)


Linux系统shell脚本编程(五)