分手快乐 发表于 2015-1-14 20:17:32

带来一篇Shell中的轮回语句总结(for, while, until)

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!在编程言语中,轮回语句是最基础的语法之一,在Shell(这里是Bash)中也不破例,再把之前本人写过的相干内容收拾一下吧。
这里包含for/while/until轮回,和变量自增的语法实例。
Shell(以Bash为例)中的轮回语句一样平常有for、while、until这几种,偶然另有写错语法的时分,这里分离实例来本人总结一下。也为从此利用供应一个快速的材料猎取渠道。
1.for轮回语句
实例1.1最基础的for轮回:(传统的情势,forvarin…)
ViewCodeBASH

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

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

12345#!/bin/bashforthingin"$@"doechoyoutyped${thing}.done
实例1.4for轮回顶用seq发生轮回次数,加上C言语情势的for轮回语句
ViewCodeBASH

12345678910111213#!/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

1234567#!/bin/bashmyvar=1while[$myvar-le10]doecho$myvarmyvar=$(($myvar+1))done
注:只需特定前提为真,”while”语句就会实行
3.until轮回语句
实例3.1轮回输入1到10的数字
“Until”语句供应了与“while”语句相反的功效:只需特定前提为假,它们就反复。上面是一个与后面的“while”轮回具有一律功效的“until”轮回。
ViewCodeBASH

1234567#!/bin/bashforxinonetwothreefourdoechonumber$xdone1
LinuxShell中写轮回时,经常要用到变量的自增,如今总结一下整型变量自增的***。
我所晓得的,bash中,变量自增,今朝有五种***:
1.i=`expr$i+1`;
2.leti+=1;
3.((i++));
4.i=$[$i+1];
5.i=$(($i+1))
能够理论一下,复杂的实比方下:
ViewCodeBASH

#!/bin/bashforxinonetwothreefourdoechonumber$xdone2#!/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:14

带来一篇Shell中的轮回语句总结(for, while, until)

每天对着单位那群白痴讲话让我觉得前途很渺茫……

只想知道 发表于 2015-1-24 17:02:32

如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的、最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。

柔情似水 发表于 2015-2-2 12:45:55

在学习的过程中,我们用的是VM虚拟机,开始时真的不真的该怎么去做,特别是我的是命令窗口界面,别人的是图形界面,我都不知道怎么调过来。

admin 发表于 2015-2-8 00:05:26

用户下达的命令解释给系统去执行,并将系统传回的信息再次解释给用户,估shell也称为命令解释器,有关命令的学习可参考论坛相关文章,精通英文也是学习Linux的关键。

小女巫 发表于 2015-2-24 09:13:40

上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.

不帅 发表于 2015-3-7 15:29:12

Linux只是个内核!这点很重要,你必须理解这一点。只有一个内核是不能构成一个操作系统的。

若相依 发表于 2015-3-15 13:09:21

发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。

飘飘悠悠 发表于 2015-3-22 02:36:24

随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
页: [1]
查看完整版本: 带来一篇Shell中的轮回语句总结(for, while, until)