Linu Shell for循环写法总结

关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...1、for((i=1;i<=10;i++));doecho$(expr$i\*4);done2、在shell中常用的是foriin$(seq10)3、foriin`ls`4、foriin${arr[@]}5、foriin$*;do6、forFilein/proc/sys/net/ipv4/conf/*/accept_redirects;do7、foriinf1f2f3;do8、foriin*.txt9、foriin$(ls*.txt)forin语句与``和$()合用,利用``或$()的将多行合为一行的缺陷,实际是合为一个字符串数组============-_-==============fornumin$(seq1100)10、LIST="rootfsusrdatadata2"fordin$LIST;do用forin语句自动对字符串按空格遍历的特性,对多个目录遍历11、foriin{1..10}12、foriinstringchar{1..10}13、awk'BEGIN{for(i=1;i<=10;i++)printi}'注意:AWK中的for循环写法和C语言一样的===============================================================01.#/bin/bash02.#author:周海汉03.#date:2010.3.2504.#blog.csdn/ablo_zhou05.arr=("a""b""c")06.echo"arris(${arr[@]})"07.echo"iteminarray:"08.foriin${arr[@]}09.do10.echo"$i"11.done12.echo"参数,\$*表示脚本输入的所有参数:"13.foriin$*;do14.echo$i15.done16.echo17.echo'处理文件/proc/sys/net/ipv4/conf/*/accept_redirects:'18.forFilein/proc/sys/net/ipv4/conf/*/accept_redirects;do19.echo$File20.done21.echo"直接指定循环内容"22.foriinf1f2f3;do23.echo$i24.done25.echo26.echo"C语法for循环:"27.for((i=0;i<10;i++));do28.echo$i29.done---------------------------------------------------------------------------------------------------------shell中for循环用法shell语法好麻烦的,一个循环都弄了一会,找了几个不同的方法来实现输出1-100间可以被3整除的数1.用(())#!/bin/bashclearfor((i=1;i<100;i++))fordoif((i%3==0))thenecho$icontinuefidone2.使用`seq100`#!/bin/bashclearforiin`seq100`doif((i%3==0))thenecho$icontinuefidone3.使用while#!/bin/bashcleari=1while(($i<100))doif(($i%3==0))thenecho$ifii=$(($i+1))done--------------------------------------------------------------------------------------------------------在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法:1.foriin`seq11000000`;doecho$idone用seq110000000做递增,之前用这种方法的时候没遇到问题,因为之前的i根本就没用到百万(1000000),因为项目需要我这个数字远大于百万,发现用seq数值到1000000时转换为1e+06,根本无法作为数字进行其他运算,或者将$i有效、正确的取用,遂求其他方法解决,如下2.for((i=1;i<10000000;i++));doecho$idone3.i=1while(($i<10000000));doecho$ii=`expr$i+1`done因为本方法调用expr故运行速度会比第1,第2种慢不少不过可稍作改进,将i=`expr$i+1`改为i=$(($i+1))即可稍作速度的提升,不过具体得看相应shell环境是否支持4.foriin{1..10000000;doecho$idone其实选用哪种方法具体还是得由相应的shell环境的支持,达到预期的效果,再考虑速度方面的问题。---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?