快速业务通道

Unix中利用列表作为循环

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-01
认为是一种灵活性比较高的处理方式.如果列表项需要经常调整,那么即使列表项的内容不是很多,也可以通过这种方法来提高其灵活性.

  2、 利用系统变量作为循环列表.

  在Unix操作系统中,for循环最大的特色,莫过于可以利用系统变量来作为循环列表.如还是以查询操作为例,用户可能需要从指定的几个文件夹中查找某个文件.而这几个目录都是有环境变量所确定的.如一个系统工程师刚到企业,接替老的系统工程师的工作.此时这位系统工程师就需要知道Unix服务器系统的一些基本配置.而这其中有一项重要的内容就是一些重要环境变量的设置.如安装了Oracle数据库,就需要知道其安装路径.若安装了Mail服务器,则需要知道其邮件的存储位置与备份位置等等.如果一一去查看这些环境变量,工作量会比较大.如果换成是笔者的话,不会做这么没有效率的事情.笔者的做法是,编写一个for循环,然后将这些重要的环境变量输出到一个文件中进行备份.这将为笔者后续的工作带来很大的方便.如现在笔者想知道Oracle的安装目录与mail的环境变量,就可以利用下面这个循环列表来实现. 拥有帝国一切,皆有可能。欢迎访问phome.net

  For varhome in $ORACLE_HOME $MAIL.


在这个for循环中,笔者采用了系统的环境变量作为其循环语句.当系统工程师利用系统环境变量来作为循环列表时,需要注意以下几个事项.,这个列表项全部大写.也就是说,系统变量大写这个规则也适用于这个for循环.其次,再变量名之前加入$这个环境变量的符号,否则的话,编译器会无法识别.三是在多个环境变量之间,不需要加入分隔符.

  3、 利用通配符作为循环列表.

  有时候可能系统管理员有这个要求.在某个文件下有多以txt为扩展名的文件.现在系统工程师可能想一一统计这些文件的大小、创建日期、更新日期等等信息,然后将这些统计信息保存到一个文件中.或者想对这些文件进行改名,如在原先的名字之前加上一个backup的字符串,表示这些文件是备份文件.此时,如果一一对这些文件操作的话,会比较麻烦.那么比较合理的做法就是通过for循环来一次性完成这些任务.

  此时,如何书写这个循环列表呢?笔者认为比较合理、比较简便的方法就是通过通配符来实现.如可以利用如下语句来实现:for filename in *.txt.利用这个循环列表,系统就会从目录中查找所有以.txt为扩展名的文件,然后将其为参数,进行后续的操作.如用户需要进行文件更名的话,则可以使用sed操作来对文件进行重命名.在使用通配符作为循环列表中的参数时,最好采用合适的通配符.通配符*或者%其含义不尽相同.如果系统工程师能够了解他们其中的差异,并在这里对症下药,选择合适的通配符.那么就可以起到事半功倍的效果.

  在for循环中除了使用上面三种特殊的循环列表外,系统工程师往往还可能采用位置参数作为循环列表.如可以将命令行中的参数赋值给位置参数,来实现一些比较复杂的功能.篇幅限制,笔者在这里不对这个位置参数做详细的解释了.如有有需要的话,笔者在以后的文章中会谈到这个问题.

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号