先来看for循环的例子:

用Bash Shell的for循环,每次递增数是500。

复制代码 代码示例:

#!/bin/bash

#

#每次递增的数

ADD_NUM=500

#递增1的话取消下行注释,并相应的注释另一句for的开头的

#for ((i=1;i<=29500;i++))

#递增定义的数

for ((i=1;i<=29500;i=$i+$ADD_NUM))

do

E=`expr $i + $ADD_NUM`

./sym init:account-data --start-at=$i --end-at=$E

done

下面详细介绍下shell中for循环用法。

一,实现输出1-100间可以被3整除的数,可以有如下多种方法。

方法1,用(())

复制代码 代码示例:

#!/bin/bash

clear

for((i=1;i<100;i++))

for

do

if((i%3==0))

then

echo $i

continue

fi

done

方法2,使用`seq 100`

复制代码 代码示例:

#!/bin/bash

clear

for i in `seq 100`

do

if((i%3==0))

then

echo $i

continue

fi

done

方法3,使用while

复制代码 代码示例:

#!/bin/bash

clear

i=1

while(($i<100))

do

if(($i%3==0))

then

echo $i

fi

i=$(($i+1))

done

二,Linux Shell for循环写法总结

1、for((i=1;i<=10;i++));do echo $(expr $i \* 4);done

2、在shell中常用的是 for i in $(seq 10)

3、for i in `ls`

4、for i in ${arr[@]}

5、for i in $* ; do

6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do

7、for i in f1 f2 f3 ;do

8、for i in *.txt

9、for i in $(ls *.txt)

for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组

============ -_- ==============for num in $(seq 1 100)

10、LIST="rootfs usr data data2"

for d in $LIST; do

用for in语句自动对字符串按空格遍历的特性,对多个目录遍历

11、for i in {1..10}

12、for i in stringchar {1..10}

13、awk 'BEGIN{for(i=1; i<=10; i++) print i}'

注意:AWK中的for循环写法和C语言一样的

复制代码 代码示例:

#/bin/bash

#by www.jquerycn.cn

arr=("a" "b" "c")

echo "arr is (${arr[@]})"

echo "item in array:"

for i in ${arr[@]}

do

echo "$i"

done

echo "参数,\$*表示脚本输入的所有参数:"

for i in $* ; do

echo $i

done

echo

echo '处理文件 /proc/sys/net/ipv4/conf/*/accept_redirects:'

for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do

echo $File

done

echo "直接指定循环内容"

for i in f1 f2 f3 ;do

echo $i

done

echo

echo "C 语法for 循环:"

for (( i=0; i<10; i++)); do

echo $i

done

在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中for循环的用法就介绍到这里了,希望对大家有所帮助。

python循环语句for计数_Bash For循环(递增计数)与for循环用法详解相关推荐

  1. 【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解

    findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表. 注意: match 和 search 是匹配一次 findall 匹配所有,mat ...

  2. c语言while将字符循环,C语言 while语句的用法详解

    在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结 ...

  3. csh for循环_shell中的for循环用法详解_linux shell

    这篇文章主要介绍了shell中的for循环用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 for 命令: for i i ...

  4. Python中self用法详解

    Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...

  5. Python中下划线 _ 的最全用法详解

    Python中下划线 _ 的最全用法详解 '_'是什么? _在python中可以作为一个标识符,用于定义变量和方法唯一名称.同时它也是Python中的一个软关键字,指在某些特定上下文中保留的关键字.截 ...

  6. python yield 用法详解

    python yield 生成器 文章目录 python yield 生成器 1. 背景 2. 如何生成斐波那契數列 清单 1. 简单输出斐波那契數列前 N 个数 清单 2. 输出斐波那契數列前 N ...

  7. Python函数(函数定义、函数调用)用法详解

    函数 函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码. 函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码.函数还可以接 ...

  8. python字典的用法_Python字典的用法详解(附示例)

    本篇文章给大家带来的内容是关于Python字典的用法详解(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 字典的表现形式为:{key:value},键和值之间用冒号分隔,每个 ...

  9. python控制画笔尺寸,Python画笔的属性及用法详解

    画笔有颜色.画线的宽度等属性. 1.turtle.pensize():设置画笔的宽度: 2.turtle.pencolor():没有参数传入返回当前画笔颜色:传入参数设置画笔颜色,可以是字符串如&qu ...

  10. php switch case 判断语句,PHP的switch判断语句的“高级”用法详解,switch详解_PHP教程...

    PHP的switch判断语句的"高级"用法详解,switch详解 只所以称为"高级"用法,是因为我连switch的最基础的用法都还没有掌握,so,接下来讲的其实 ...

最新文章

  1. java线程锁的作用,大厂面经合集
  2. AssertionError: Path does not exist: py-faster-rcnn/data/VOCdevkit2007/VOC2007/ImageSets/Main
  3. Shared pool内存块组成结构及4031错误原因分析
  4. python语句-浅谈 Python 的 with 语句
  5. 外网访问XAMPP失败 解决方案
  6. python学习-Pillow图像处理
  7. SAP CRM Opportunity订单的文档流Document Flow的一些变体variant
  8. linux 安装vbox增强工具
  9. Reset RequiredFieldValidator 重置 验证控件
  10. Visual C# .NET2003语言的改变
  11. windows 下 LITE IDE go lang 安装配置使用
  12. 详尽的msf——meterpreter——渗透测试教程
  13. 中国省份数据字典表---自用
  14. 电商产品经理的那些图 订单、确认支付、发货、退货、退款、换货...
  15. MATLAB 轮式机器人轨迹跟踪仿真
  16. 微服务时代之2017年五军之战:Net PHP谁先死
  17. MFC 视图-OpenGL场景-CDialogBar三个界面保存为图片
  18. 问题解决:inittramfs unpacking failed:Decoding failed
  19. VPC是什么,VPC详解
  20. 6月20日打卡50个单词

热门文章

  1. 企业实战(Jenkins+GitLab+SonarQube)_07_Jenkins 安全设置
  2. 第一篇:Spring Boot 快速入门篇
  3. Java-什么是面向对象
  4. 定义快捷代码_nodepad++代码编辑器替代工具整理
  5. c++检测输入是否为数字_Go64 for Mac(检测应用是否为64位)
  6. 修改服务器时间报错,修改服务器时间linux
  7. 用友u8年度账文件服务器错误,用友u8erp软件出纳管理模块年度数据结转常见问题...
  8. Qt添加类文件编译后,再添加宏Q_OBJECT
  9. sql devalop连接mysql_SQL-Mysql表结构操作
  10. python安装poi第三方库_使用Python获取城市POI数据