2、 利用系统变量作为循环列表 。
在Unix操作系统中,for循环最大的特色,莫过于可以利用系统变量来作为循环列表 。如还是以查询操作为例,用户可能需要从指定的几个文件夹中查找某个文件 。而这几个目录都是有环境变量所确定的 。如一个系统工程师刚到企业,接替老的系统工程师的工作 。此时这位系统工程师就需要知道Unix服务器系统的一些基本配置 。而这其中有一项重要的内容就是一些重要环境变量的设置 。如安装了Oracle数据库,就需要知道其安装路径 。若安装了Mail服务器,则需要知道其邮件的存储位置与备份位置等等 。如果一一去查看这些环境变量,工作量会比较大 。如果换成是笔者的话,不会做这么没有效率的事情 。笔者的做法是,编写一个for循环,然后将这些重要的环境变量输出到一个文件中进行备份 。这将为笔者后续的工作带来很大的方便 。如现在笔者想知道Oracle的安装目录与mail的环境变量,就可以利用下面这个循环列表来实现 。
For varhome in $ORACLE_HOME $MAIL 。
在这个for循环中,笔者采用了系统的环境变量作为其循环语句 。当系统工程师利用系统环境变量来作为循环列表时,需要注意以下几个事项 。首先,这个列表项必须全部大写 。也就是说,系统变量必须大写这个规则也适用于这个for循环 。其次,再变量名之前必须加入$这个环境变量的符号,否则的话,编译器会无法识别 。三是在多个环境变量之间,不需要加入分隔符 。
3、 利用通配符作为循环列表 。
有时候可能系统管理员有这个要求 。在某个文件下有多以txt为扩展名的文件 。现在系统工程师可能想一一统计这些文件的大小、创建日期、更新日期等等信息,然后将这些统计信息保存到一个文件中 。或者想对这些文件进行改名,如在原先的名字之前加上一个backup的字符串,表示这些文件是备份文件 。此时,如果一一对这些文件操作的话,会比较麻烦 。那么比较合理的做法就是通过for循环来一次性完成这些任务 。
此时,如何书写这个循环列表呢?笔者认为比较合理、比较简便的方法就是通过通配符来实现 。如可以利用如下语句来实现:for filename in *.txt 。利用这个循环列表,系统就会从目录中查找所有以.txt为扩展名的文件,然后将其为参数,进行后续的操作 。如用户需要进行文件更名的话,则可以使用sed操作来对文件进行重命名 。在使用通配符作为循环列表中的参数时,最好采用合适的通配符 。因为通配符*或者%其含义不尽相同 。如果系统工程师能够了解他们其中的差异,并在这里对症下药,选择合适的通配符 。那么就可以起到事半功倍的效果 。
在for循环中除了使用上面三种特殊的循环列表外,系统工程师往往还可能采用位置参数作为循环列表 。如可以将命令行中的参数赋值给位置参数,来实现一些比较复杂的功能 。由于篇幅限制,笔者在这里不对这个位置参数做详细的解释了 。如有有需要的话,笔者在以后的文章中会谈到这个问题 。
推荐阅读
- WPS中出现表格文字显示不全具体处理方法
- 中阿两国于多少年1月20日建交
- SCO OpenServer 5.0.5中DHCP如何配置 ?
- 操作系统全接触之UNIX系统
- 浅析UNIX的几个主要进程
- vivox27中将虚拟定位打开具体操作步骤
- 将夜中掌教到底是谁
- 二 在SCO OpenServer 5中用configure配置核心参数
- word文档中分式怎么输入
- 碘盐中的碘是指什么