当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Shell脚本编程——for循环

Shell脚本编程——for循环 时间:2018-09-26      来源:未知

1、本文是关于shell脚本编程中,对于for循环语句的使用总结。

2、语法格式

for 变量名 in 单词表

do

命令表

done

3、变量名:即为用户自定义变量

单词表:对变量赋值的表单

命令表:循环执行的shell命令

4、值得一问的是,for语句既然作为一个循环语句,那他是如何实现循环的呢?循环次数跟谁有关呢?很简单,循环的次数跟单词表中单词的个数相同!

5、如图1所示,此程序中单词表为:1 2 3 4。单词个数为四个,因此for语句循环执行4次。

6、知道了循环的次数与单词表的单词数相同,那每次循环for语句又是如何执行的呢?如图1所示的程序中:

a) 第三行程序:变量A依次被赋值为:1、2、3、4。

b) 因此第六行打印语句需执行四次:第一次打印1、第二次打印2、...第四次打印4。

c) $A:在这里$是获取变量A的值

总之:需要将单词表中的单词依次赋值给变量A,同时每赋值一次,都需执行一次do...done之间命令表的内容。

7、举个相似的例子,如图2所示。

a) $* :所有命令行的参数(除第一个:执行语句除外)。

b) 此程序中的单词表:hello 、world、huaqing、yuan、jian

c) 即for语句循环执行五次。执行结果如图所示。

8、再举个的例子,如图3所示。

a) 第3行 :建立一个名为dir的目录

b) 第4行 :将ls命令的执行结果提取出来赋值给list变量

c) list :在此程序中相当于单词表。list的单词数是由ls命令结果决定的,即当前路径下有多少个文件,list就有几个单词。

d) 第6行 :将list里的单词依次赋值给变量A,并执行do...done里的内容

e) 第8行 :判断是否为普通文件

f) 第10行:判断如果是普通文件则拷贝该文件到目录dir下(-f 判断普通文件)

g) 第11行:打印提示信息及已拷贝的文件名

9、执行结果如图4所示

命令一:$ ls

查看当前路径下所有文件及文件夹。

命令二:$ ./1.sh

执行1.sh脚本文件。会在终端上打印信息,即源文件11行的执行结果。

命令三:$ ls

执行结束后再次查看,会出现dir目录文件,即源文件3行的执行结果。

命令四:$ ls dir/

查看dir/目录下的文件,会显示已拷贝的普通文件,即源文件8、9、10行的执行结果。

上一篇:ARM处理器中SWI异常中断处理程序的实现

下一篇:C和C++中const的用法比较

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部