首页 > 代码库 > for 用法

for 用法

第一种: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)



for 用法