linux学习笔记 下载本文

5.重定向循环输出

for语句循环: for 的第一种形式: for var in list do 命令串 done 说明:

list: 列表,可以是由空格分隔的变量($a $b)或者是值(1 2 3 等)。 对于list 中的每一项,都将循环一次

var : 每次循环的值。对于list 中的每一项都要进行一次循环,而每次循环时,就取出list 中的第几项放在var 中,可以在命令串中通过$var 的方式进行引用 循环执行过程:

执行第一轮循环时,将list 中的第一个词赋给循环变量,并把该词从list 中删除,然后进入循环体,执行do 和done 之间的命令。下一次进入循环体时,则将第二个词赋给循环变量,并把该词从list 中删除,再往后的循环也以此类推。当list 中的词全部被移走后,循环就结束了。

for 的第二种形式: for var

do 命令串 done 说明:

与第一种方式相比,少了in list 项。此时,for 循环省略list,list 值由当前脚本程序的命令行参数代替。也就是说,在这种情况下,没循环一次,var 中存储的就是一个命令行参数。对于for 语句,我的理解是,如果没有in list,则循环参数则由命令行带参使用,即以命令行参数为for 循环值列表。

Until语句迭代:

util 循环和while 循环实现的功能基本相同,不过util 是判定条件为假时才继续循环。 语法如下: util 条件表达式 do 命令行; done

While语句:

在某些情况下,需要依据某个条件进行判断,如果条件为真则继续循环,否则结束循环,这种情况下,就需要使用while 循环。while 循环是当某个判定条件的值为假时退出循环。 语法如下: while 条件表达式 do

命令串; done 执行过程:

先执行条件表达式,如果其退出状态为0,就执行循环体。执行到关键字done 后,回到循环的顶部,while 命令再次检查条件表达式的退出状态。以此类推,循环将一直继续下去,直到条件表达式的退出状态非0 为止。