第一种:for((i=1;i<=10;i++))
for((i=1;i<=10;i++));do echo $(expr $i \* 4);done 计算1到99的每个数相乘自己得到的值,并打印出来。乘法*和除法/要加转义符\。
1*1 2*2 3*3 4*4 5*5
第二种:for i in
A. for i in `ls` 列出/root目录下的文件名并赋值给i,命令用``反方向号来标明(不是单引号)。
B. for i in $(seq 10) ;for i in `seq 10` 将1到10,依次赋值给i。seq用于产生从某个数到另外一个数之间的所有整数 seq 10 等价于 seq 1 10。
seq -f "str%03g" 9 11 ---- -f 输出格式,默认%g换行, "str%03g" 将后面的数值以3位宽度换行输出。
str009
str010
str011
C. for i in ${arr[@]} 。 获取数组的所有的值。
arr{}数组,下标从0开始步进,将数组的值赋给i 。 $arr 显示组数第0个值;arr{[@]}所有数组;${#arr[@]} 获取最后一个数据,即下标最大值;${#arr[3]} 获取第四个下标数据的字符长度值;$ echo ${arr[@]:1:2} // 获取下标序列1到2的数据,从0开始; ${arr[@]:2} // 从第二个元素开始 ; ${arr[@]::2} // 从0到第二个元素。
arr=(55 66 77 88 99)
for i in ${arr[@]};do echo $i;done
D. for i in 1 2 3;do 直接分别给i 赋值 1 2 3。
for i in 1 2 3 ;do echo i;done 将1,2,3依次赋值给i,并显示。
for i in /*;do echo i;done 将/目录下的文件路径赋给i,并显示。
for i in $(ls *.txt)