一些很好shell诀窍.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一些很好shell诀窍

连续循环 现在来看循环,它允许您执行重复任务,比如对一组文件执行一些操作或命令。Shell 有几种构造循环的方法。 构造 for 循环 最常见的循环结构是 for 循环。 首先定义一个变量作为循环的名称,提供一组成员,可以是包括整数和文件名在内的任何单词,然后提供每次重复执行的命令。每个命令都以分号结束 (;),整个命令组以位于单词 do 和 done 之间。 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l listing20 清单 20 描述了它的结构。 清单 20. Shell 中循环的结构 for loopname in members do command; command; ... command; done 在循环的第一次重复中,loopname 变量获取第一个成员的值。然后 loopname 的值被清单中下一个成员的值替代,接下来它继续重复直到遍历所有成员。 在大多数 Shell 中,do 和 done 都可以被大括号所替代,如 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l listing21 清单 21 中所示。 清单 21. Shell 循环的替代结构 for loopname in members { command; command; ... command; } 键入 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l listing22 清单 22 中的文本来运行包含三个成员的简单循环: 清单 22. 使用循环来改变变量的值 $ for i in 1 2 3 { VAR = $(($VAR+$i)) echo $i:$VAR } 1:1 2:3 3:6 $ 针对目录中的每个文件执行命令 您可以使用循环针对给定的一组文件执行一个或一组命令。如果您提供文件的名称作为 for 循环的成员,那么循环按您提供名称的顺序在每个文件上执行操作。您可以两次提供同一个文件,循环将依次对该文件执行操作。在您的 example 目录中尝试使用 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l listing23 清单 23 中的文本执行上述操作。 清单 23. 利用一组文件构造循环 $ cd ~/example $ ls A B C $ for file in C B B C { echo $file } C B B C $ 要对同一目录下的所有文件执行操作,可以使用星号 (*) 作为循环的唯一成员,如 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l listing24 清单 24 中所示。Shell 将星号扩展为目录中的所有文件。然后,对于循环中您要对所有文件执行的命令,使用 loopname 变量作为合适的参数或选项。 清单 24. 针对目录中的所有文件执行同一命令 $ ls A B C $ for file in * { mv $file $((0x$file)) } $ 如果您正在运行本教程中的所有示例,那么您的 example 目录中的内容应该已改变: $ ls 10 11 12 $ 发生的情况是循环中的 mv 命令将文件的名称从十六进制值(通过在名称的前面插入 0x 构成)更改为与它相等的十进制值。 构造 while 循环 您可以构造一种当满足某些条件就一直运行的循环。使用 while 条件语句来实现这一目标,其格式如 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l listing25 清单 25 所示。 清单 25. Shell while 循环的结构 while [ condition ]; do command; command; ... command; done 在循环中,condition 可以是使用操作符(请参见 HYPERLINK /developerworks/cn/education/aix/au-unixtips4/section6.html \l table3 表 3)构建的语句,或者可以像一个变量名那样简单。只要值是非 0 的,就代表真。 表 3. 常用 Sh

文档评论(0)

sy78219 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档