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循环值列表。