在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
分享到:
相关推荐
在Linux Shell编程中,运算符号和运算命令是核心概念,用于执行数学计算和逻辑操作。以下是关于这些主题的详细说明: **一、Shell运算符号** 1. **加法 (+)**: 使用`expr`命令进行加法运算,例如 `expr 43 + 21` ...
在今天的Linux Shell学习笔记中,我们将深入探讨循环结构,这是Shell编程中的一个重要概念。循环结构允许我们重复执行一系列命令,直到满足特定条件为止。本篇笔记将介绍两种主要的循环类型:for循环和while循环,并...
Linux运维学习中,Shell脚本的编写是基础技能之一。在Shell编程中,变量的数值运算是一项非常重要的功能。本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:...
### 推荐一本《Linux学习笔记》的知识点详解 #### 第一章 Linux简介及安装 **一、Linux介绍** - **Linux起源与定义**:Linux 是由芬兰大学生 Linus Torvalds 在 1991 年发起的一个开源项目。它是一种基于 Unix 的...
### Linux系统编程学习笔记 #### 一、IO **1.1 标准I/O (stdio)** - **fopen/fclose**: `fopen` 用于打开或创建一个文件,并返回一个指向该文件的 `FILE *` 类型的指针。`fclose` 用于关闭由 `FILE *` 指向的文件...
- **工作原理**:通过发送一系列具有递增TTL值的ICMP回声请求报文,记录沿途路由器的IP地址。 - **用途**:追踪数据包到达目的地所经过的路径。 ### VRP系统基础知识 #### 6.1 VRP简介 - **定义**:Versatile ...
- 经典动态规划题目解析,如最长递增子序列、背包问题、编辑距离等。 #### 动态规划答疑篇 - 专门针对动态规划学习过程中遇到的问题进行答疑解惑。 ### 第二章:数据结构系列 #### 学习数据结构和算法读什么书 - ...