网站大量收购闲置独家精品文档,联系QQ:2885784924

Shell程序设计Shell程序设计.doc

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

3.3.9.1 break命令 这个命令在控制条件未满足之前,跳出for/while/until循环。另外还可以为break提供一个参数,表明要跳出的循环的层数,这点跟我们在c语言中的break不一样。不过一般情况下,我们不会这么做,因为它降低了程序的可读性。 例: #!/bin/sh rm -rf fred* echo fred1 echo fred2 mkdir fred3 echo fred4 for file in fred* do if [ -d $file ] then break; fi Done echo first directory starting fred was $file rm -rf fred* exit 0 3.3.9.2 :命令 冒号(:)是一个空命令,它偶尔会被用于逻辑简化,相当于true的一个别名,由于它是内置命令,所以它的运行效率要比true高 while: 相当于 while true 3.3.9.3 continue命令 类似于C中的continue,使for/while/until循环跳到下一次循环继续执行,continue也可以附带一个参数,表示希望继续执行的循环嵌套的层数,同样,这个参数也很少用,它会降低程序的可读性。 例: #!/bin/sh rm -rf fred* echo fred1 echo fred2 mkdir fred3 echo fred4 for file in fred* do if [ -d $file ] then echo skipping the directory $file continue fi echo file is $file done rm -rf fred* exit 0 3.3.9.4 .命令 点(.)命令用来执行当前shell中的命令 如. ./shell_script 在shell脚本程序中,点命令的作用类似于c语言中的include,因此可以使用点命令将变量和函数定义结合进一个脚本程序中; 例: 1.sh #!/bin/sh var=“hello 1.sh” echo “this is 1.sh script” 2.sh #!/bin/sh . ./1.sh echo “this is 2.sh script” exit 0 3.3.9.5 echo命令 最常见的就是如何去掉换行符,linux通常采用如下方法: echo -n “hello world” 3.3.9.6 eval命令 eval命令允许对参数进行求值。它是shell的内置命令,通常不会以单独命令的形式存在。 foo=10 x=foo y=‘$’$x echo $y 打印出的结果是$foo 而 foo=10 x=foo eval y=‘$’$x echo $y 输出是10 当然你也可以用另外一种方法对变量求值 y=$(($x)) 3.3.9.7 exec命令 exec有两种用法 1) 将当前的shell替换为一个不同的程序 exec wall “hello world” 将当前的shell替换为执行wall,exec后面的语句都不会执行了,因为当前的shell已经不复存在了 2) 修改当前文件描述符 exec 3 afile 文件描述符3被打开以便从文件afile中读取数据。 3.3.9.8 exit命令 exit n命令以退出码n结束运行。 如果你在退出时没有指定一个退出状态,那么最后一条被执行的命令的状态将被用作返回值。 在shell脚本编程中,0表示成功,1-125是脚本程序使用的错误代码 3.3.9.10 export命令 export命令将作为它参数的变量导出到子shell中,并使之在子shell中有效。例: 先列出脚本程序export2: #!/bin/sh echo “$foo” echo “$bar” 然后是脚本程序export1。在这个脚本的末尾,我们调用了export2 #!/bin/sh foo=“the first meta-syntactic variable” export bar=“the second meta-syntactic variable” ./export2 运行这个脚本程序,输出如下: $export 1 the second meta-syntactic variable 第一个空行的出现是因为变量foo在export2中不可用,所 以$foo被赋值为空,echo一个空变量将输出一个空行。 当变量被一个shell导出后,它就可以被该shell调用的任何脚本使用,也可以被后续调

文档评论(0)

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

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

1亿VIP精品文档

相关文档