(032) Linux之shell流控制for循环
十年运维系列之基础篇 - Linux
作者:曾林
版权:文章未经同意请勿转载
一、引言
本章是关于流控制的最后一章,我们将学到一个全新的shell循环结构,那就是for循环结构,因为for循环采用的是在循环期间进行序列处理的机制,所以它不同于while循环和until循环。事实证明,for循环是对编程非常有用的。因此for循环在bash脚本中是一种非常流行的结构。
for命令在bash脚本中存在两种形式。
二、for:传统的shell形式
原始的for命令语法如下:
for variable [in words]; do commands done
其中,variable是一个在循环执行时会增量的变量名,words是一列将按顺序赋给变量variable的可选项,commands部分是每次循环时都会执行的命令。
for命令在命令行上是很有用的。如下图展示:
需要注意的是,对于可选项只需要空格隔开即可。空格就是可选项的隔开符。
for循环真正强大的功能在于创建字符列表的方式有很多种。例如,可以使用花括号扩展的方式,如下所示:
或使用路径名扩展方式,如下所示:
如果for命令中的选项部分被忽略的话,那么for循环默认处理该位置参数。如下代码和运行图例如下:
三、for:C语言形式
最近的bash版本已经加入了第二种for命令语法,它类似于C语言形式,并且许多的编程语言都支持这种形式。其语法如下:
for (( expression1; expression2; expresson3 )); do commands done
其中expression1、expression2、expression3为算术表达式,commands是每次循环都要执行的命令。
就执行结果而言,这种形式等同于如下结构。
(( expression1 )) while (( expression2 )); do commands (( expression3 )) done
expression1用来初始化循环条件,expression2用来决定循环何时结束,expression3在每次循环末尾执行。
如下将具体展示用法和图例:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。