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语句,我的理解是,如果没有inlist,则循环参数则由命令行带参使用,即以命令行参数为for循环值列表。