Linux for 循环

 时间:2024-10-13 20:25:06

在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法:

1.

for i in `seq 1 1000000`;do

echo $i

done

用seq 1 10000000做递增,之前用这种方法的时候没遇到问题,因为之前的i根本就没用到百万(1000000),因为项目需要我这个数字远大于百万,发现用seq 数值到 1000000时转换为1e+06,根本无法作为数字进行其他运算,或者将$i有效、正确的取用,遂求其他方法解决,如下

2.

for((i=1;i<10000000;i++));do

echo $i

done

3.

i=1

while(($i<10000000));do

echo $i

i=`expr $i + 1`

done

因为本方法调用expr故运行速度会比第1,第2种慢不少不过可稍作改进,将i=`expr $i + 1`改为i=$(($i+1))即可稍作速度的提升,不过具体得看相应shell环境是否支持

4.

for i in {1..10000000};do

echo $i

done

其实选用哪种方法具体还是得由相应的shell环境的支持,达到预期的效果,再考虑速度方面的问题。

5.

for i in (cat /zheteng/1.txt);do

ls -l $i

done

  • SAP中客户物料信息Customer mat维护步骤简介
  • 《质量效应3》职业与技能列表解析攻略
  • 如何在WINDOWS SERVER 2008搭建IIS7+ASP网站
  • 报表控件FineReport中如何查询某段时间内的数据
  • 怎样使用VBA生成桌面快捷方式?
  • 热门搜索
    阜阳旅游 旅游 英语 大方旅游江门 中国旅游新闻网 辽阳旅游 马来西亚旅游攻略 驻马店旅游 内蒙旅游景点 上海旅游景点大全 云南旅游指南