仓酷云

标题: 带来一篇Shell中的轮回语句总结(for, while, until) [打印本页]

作者: 分手快乐    时间: 2015-1-14 20:17
标题: 带来一篇Shell中的轮回语句总结(for, while, until)
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!在编程言语中,轮回语句是最基础的语法之一,在Shell(这里是Bash)中也不破例,再把之前本人写过的相干内容收拾一下吧。
这里包含for/while/until轮回,和变量自增的语法实例。

Shell(以Bash为例)中的轮回语句一样平常有for、while、until这几种,偶然另有写错语法的时分,这里分离实例来本人总结一下。也为从此利用供应一个快速的材料猎取渠道。
1.for轮回语句
实例1.1最基础的for轮回:(传统的情势,forvarin…)

ViewCodeBASH

  1. 12345
复制代码
  1. #!/bin/bashforxinonetwothreefourdoechonumber$xdone
复制代码

注:”for”轮回老是吸收“in”语句以后的某品种型的字列表。在本例中,指定了四个英语单词,可是字列表也能够援用磁盘上的文件,乃至文件通配符。
实例1.2对目次中的文件做for轮回

ViewCodeBASH

  1. 123456
复制代码
  1. #!/bin/bashforxin/var/log/*do#echo"$xisafilelivingin/var/log"echo$(basename$x)isafilelivingin/var/logdone
复制代码

注:这个$x取得的是相对路径文件名;可使用“basename”可实行步伐来撤除后面的路径信息。假如只援用以后事情目次中的文件(比方,假如输出“forxin*”),则发生的文件列表将没有路径信息的前缀。
实例1.3对地位参数做for轮回

ViewCodeBASH

  1. 12345
复制代码
  1. #!/bin/bashforthingin"$@"doechoyoutyped${thing}.done
复制代码

实例1.4for轮回顶用seq发生轮回次数,加上C言语情势的for轮回语句
ViewCodeBASH

  1. 12345678910111213
复制代码
  1. #!/bin/bashecho"for:Traditionalform:forvarin..."forjin$(seq15)doecho$jdoneecho"for:Clanguageform:for((exp1;exp2;exp3))"for((i=1;i<=5;i++))doecho"i=$i"done
复制代码

注:关于流动次数的轮回,能够经由过程seq下令来完成,就不必要变量的自增了;这里的C言语for轮回作风是挺熟习的吧。
2.while轮回语句
实例2.1轮回输入1到10的数字

ViewCodeBASH

  1. 1234567
复制代码
  1. #!/bin/bashmyvar=1while[$myvar-le10]doecho$myvarmyvar=$(($myvar+1))done
复制代码

注:只需特定前提为真,”while”语句就会实行
3.until轮回语句
实例3.1轮回输入1到10的数字
“Until”语句供应了与“while”语句相反的功效:只需特定前提为假,它们就反复。上面是一个与后面的“while”轮回具有一律功效的“until”轮回。

ViewCodeBASH

  1. 1234567
复制代码
  1. #!/bin/bashforxinonetwothreefourdoechonumber$xdone1
复制代码

LinuxShell中写轮回时,经常要用到变量的自增,如今总结一下整型变量自增的***。
我所晓得的,bash中,变量自增,今朝有五种***:
1.i=`expr$i+1`;
2.leti+=1;
3.((i++));
4.i=$[$i+1];
5.i=$(($i+1))

能够理论一下,复杂的实比方下:

ViewCodeBASH

  1. #!/bin/bashforxinonetwothreefourdoechonumber$xdone2
复制代码
  1. #!/bin/bashforxinonetwothreefourdoechonumber$xdone3
复制代码

本文是来历于我已经的以下两篇博文:
http://www.51testing.com/?uid-225738-action-viewspace-itemid-227492
http://www.51testing.com/?uid-225738-action-viewspace-itemid-220988


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
作者: 飘灵儿    时间: 2015-1-15 15:19
标题: 带来一篇Shell中的轮回语句总结(for, while, until)
每天对着单位那群白痴讲话让我觉得前途很渺茫……
作者: 只想知道    时间: 2015-1-24 17:02
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。
作者: 柔情似水    时间: 2015-2-2 12:45
在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。
作者: admin    时间: 2015-2-8 00:05
用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。
作者: 小女巫    时间: 2015-2-24 09:13
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
作者: 不帅    时间: 2015-3-7 15:29
Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。
作者: 若相依    时间: 2015-3-15 13:09
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
作者: 飘飘悠悠    时间: 2015-3-22 02:36
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2