Shell学习笔记---数字递增总结

简介:

在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环境的支持,达到预期的效果,再考虑速度方面的问题。

 

参考至:http://www.shocr.com/linux-shells-for-loop/

如有错误,欢迎指正

邮箱:czmcj@163.com

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/911371
相关文章
|
3月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
38 0
|
3月前
|
Java Shell Linux
Shell编程 学习笔记
Shell编程 学习笔记
69 1
|
4月前
|
Shell Linux Perl
shell 学习笔记
shell 学习笔记
50 1
|
Java 大数据 Shell
Azkaban--使用实战--shell、command 调度 | 学习笔记
快速学习 Azkaban--使用实战--shell、command 调度
642 0
Azkaban--使用实战--shell、command 调度 | 学习笔记
|
11月前
|
Shell 开发工具 Perl
shell学习笔记
shell学习笔记
|
SQL Shell PHP
某教程学习笔记(一):19、任意文件上传和sql语句拿shell
某教程学习笔记(一):19、任意文件上传和sql语句拿shell
77 0
某教程学习笔记(一):19、任意文件上传和sql语句拿shell
|
运维 Java Shell
Linux Shell 训练营 Day3|学习笔记
快速学习 Linux Shell 训练营 Day3。
124 0
Linux Shell 训练营 Day3|学习笔记
|
NoSQL JavaScript 前端开发
Shell 链接&amp;Compass 使用 | 学习笔记
快速学习 Shell 链接&amp;Compass 使用
145 0
Shell 链接&amp;Compass 使用 | 学习笔记
|
SQL 大数据 Shell
Shell 命令行--内外部参数 | 学习笔记
快速学习 Shell 命令行--内外部参数
176 0
|
SQL XML 数据可视化
集成 Oozie 服务&amp;调度 Shell 程序 | 学习笔记
快速学习 集成 Oozie 服务&amp;调度 Shell 程序
100 0
集成 Oozie 服务&amp;调度 Shell 程序 | 学习笔记