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

linux 自学05 shell 编程基础 之 循环

2014-06-07 11:20 309 查看
循环

除了if....then....if这种条件判断式之外,循环可能是程序当中最重要的一环了,循环可以不断的执行某个程序段落,直到用户设定的条件达成为止,所以,重点是哪个条件达成是什么,除了这种依据判断式达成与否的不定循环之外,还有另外一种已经固定要跑很多次的循环形态,可称为固定循环的形态。

2.1、while do done 

语法结构如下:



说明:while简单理解就是当....时,所以这种方式说的是当condition条件成立时,就进行循环,直到condition的条件不成立时才停止的意思。

2.2、while循环练习

需求:假设我们让使用者输入yes或者YES才结束程序的执行,否则就一直进行告知用户输入字符串。



说明:当$yn这个变量不是yes或者不是YES时,才进行循环内的程序,而如果$yn是yes或者YES时,就会离开循环,还有一种情况恰恰与while相反,它说的是当condition条件成立时,就终止循环,否则就持续进行循环的程序段。

2.3、until do done



2.4、until练习



2.5、需求:

计算1+2+3+......+100这个数



说明:该程序直到最后结果为5050即可,就会终止循环。

2.6、for...do...done(固定循环)

相对于while、until的循环方式是必须要符合某个条件的状态,for这种语法,则是已经直到要进行几次循环的状态,语法结构如下:



说明:这个$var的变量内容在循环工作时:

1、第一次循环时,$var的内容为con1

2、第二次循环时,$var的内容为con2

3、第三次循环时,$var的内容为con3

2.7、需求

假设我有三种动物,分别是dog、cat、elephant三种,我想给每一行都输出这样:there are dos...子类的字样。则可以:



2.8、需求

使用管道命令的cut提出账号名称后,以id以及finger分别检查使用者的标示符与特殊的参数,由于不同的linux系统上面的账号都不一样,此时实际去提出/etc/passwd并使用循环处理,就是一个可行的方案了。



说明:执行上述的脚本之后,你系统账号就会被提出来,这个动作还可以用在每个账号的删除,重整上面。

2.9、需求

让用户输入某个目录文件名,然后找出目录内的文件名的权限。



2.9、for...do...done的数值处理

除了上述的方法之外,for循环还有另外一种写法,语法结构如下:



说明:这种语法适合于数值方式的运算当中,在for后面的括号的三串内容理解为:

初始值:某个变量在循环当中起始值,直接以类i=1设定好

限制值:当变量的值再这个限制值的范围内,就继续进行循环,比如:i<=100

执行步骤:每作一次循环时,变量的变化量,比如i=i+1

值得注意的是,在执行步骤的设定上,如果每次增加1,则可以使用类似i++的方式,亦即使i每次循环都增加1的意思。

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