Linux Shell for循环写法总结

发布时间:2011-08-31 11:09:40来源:红联作者:gogo11

关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于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语言一样的

===============================================================

01.#/bin/bash

02.# author: 周海汉

03.# date :2010.3.25

04.# blog.csdn.net/ablo_zhou

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

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

07.echo "item in array:"

08.for i in ${arr[@]}

09.do

10. echo "$i"

11.done

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

13.for i in $* ; do

14.echo $i

15.done

16.echo

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

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

19.echo $File

20.done

21.echo "直接指定循环内容"

22.for i in f1 f2 f3 ;do

23.echo $i

24.done

25.echo

26.echo "C 语法for 循环:"

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

28.echo $i

29.done

---------------------------------------------------------------------------------------------------------

shell中for循环用法

shell语法好麻烦的,一个循环都弄了一会 ,找了几个不同的方法来实现输出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

--------------------------------------------------------------------------------------------------------

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

Linux脚本i在1到10之间,Linux Shell for循环写法总结相关推荐

  1. Linux Shell脚本入门教程系列之(十一)Shell while循环

    本文是Linux Shell脚本系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 在上一篇Linux Shell系列教程之(十)Shell for循环中, ...

  2. Linux Shell脚本入门教程系列之(十)Shell for循环

    本文是Linux Shell脚本系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,继上一篇之后,今天 ...

  3. 吉林大学Linux考试时间,《吉林大学软件学院10级Linux试题A.doc

    <吉林大学软件学院10级Linux试题A 软件学院20级<UNIX与Linux操作系统>试题A 201年12月日 一.单选题(每个1分,共20分) 1.查看目录/etc大小的命令是? ...

  4. linux脚本执行过程中被挂起,Linux学习笔记(八)——脚本执行的过程控制

    一.脚本执行过程中的控制 之前的内容中,运行编写好的脚本时都是在命令行上直接确定运行的,并且运行的脚本是实时的,这并不是脚本唯一的运行方式,下面的内容是脚本的其他运行方式.例如在Linux系统中如何控 ...

  5. linux脚本怎么把文件地址变成动态地址,Linux脚本程序自动修改网卡配置文件中的MAC地址...

    在玩Linux虚拟机的时候,一个安装好linux系统的virtual HDD会用于创建多个虚拟机,这样就不需要在创建每个虚拟机都安装一遍系统了.virtual HDD加载到虚拟机后,新的虚拟机的MAC ...

  6. linux删除win分区工具,Win 10 和 Linux 双系统,从硬盘删除Linux分区,Win 10引导修复...

    由于安装双系统后,Linux 用的比较少.因此,从Win 10 磁盘管理中删除了linux 占用的磁盘空间,重启后无法进入win 10 ,出现如下情况: 有人提出,此时需要重装系统,并不用如此麻烦,通 ...

  7. linux脚本怎么发送到桌面,如何在Linux上使用Zenity创建简单的图形Shell脚本

    Zenity使用单个命令为shell脚本添加了图形界面. Shell脚本是自动化重复任务的好方法,但是它们通常只限于终端 - Zenity将它们从终端中导出到桌面上. 我们已经介绍了过去的shell脚 ...

  8. linux jrdmm 命令 局部 编译,Cgminer-4.10.0 Linux 挖矿

    前言 本文为自己在Centos 6.0下,利用Cgminer-4.10.0进行比特币挖矿并利用Tcpdump进行抓包分析的测试记录. Step 1 Download and install wget ...

  9. Linux脚本5秒后启动程序,嵌入式Linux启动时间优化的秘密之四-启动脚本

    本文主要讲述嵌入式Linux启动时间优化的秘密,我们继续上篇没有讲完的嵌入式Linux启动时间优化方法,本文主要会讲启动脚本.想看上一篇的请查看本文结尾的链接. 启动脚本 1.优化初始化脚本和系统启动 ...

  10. linux配置rsync排除某些目录,10个linux rsync命令排除文件/目录

    Rsync (远程同步)是在Linux/unix系统中远程复制和同步文件和目录的最常用命令,借助rsync命令,你可以在不同的目录之间远程地复制和同步数据,跨磁盘和网络进行数据备份,在两个Linux机 ...

最新文章

  1. gff3转mysql_五月 | 2013 | 陈连福的生信博客
  2. CentOS6.4之文本编辑器Vi/Vim
  3. min max rand repmat 函数
  4. linux正向连接shell_[经验] Linux 怎么连接 Xshell?
  5. 小程序开发过程注意事项
  6. 埋点测试-移动端/PC端
  7. python selenium headless chrome chromedriver 等安装
  8. oracle 常用语句2
  9. 高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)
  10. delete 的用法(Hive)(SQL)
  11. python导入栈包
  12. EA enterprise architect 画类图
  13. PyG教程(4):自定义数据集
  14. ddl是什么意思网络语_DDL(数据定义语言)
  15. 2015深圳实习感悟
  16. 【C语言】5个成绩,去掉最高分,去掉最低分,求 平均分
  17. Maven之快速入门
  18. 关于旷世科技的融资,比金额更关键的是投资方是谁
  19. mavlink协议从入门到放弃(二)
  20. java生成word,html文件并将内容保存至数据库 (http://blog.163.com/whs3727@126/blog/static/729915772007325112014115/)

热门文章

  1. 厦门大学计算机2018专业分数线,2018厦门大学录取分数线,2018厦门大学各专业录取分数线...
  2. 蓝桥杯 算法训练 ALGO-114 黑白无常
  3. python工程师工资多少-Python工程师的薪资到底有多高
  4. 车载ECU软件刷新flash driver制作
  5. 北卡罗来纳州立大学计算机科学,北卡罗来纳州立大学计算机科学理学硕士研究生申请要求及申请材料要求清单...
  6. 金融经济学二十五讲--徐高
  7. 0x80004005是什么错误?0x80004005的解决方案
  8. 使用python+ffmpeg批量将视频水平翻转
  9. 数字图像处理,中值滤波和均值滤波及其改进算法的C++实现
  10. Rayson API 框架分析系列之2:API服务开发