[计算机]Shell编程:Linux系统环境程序设计之路.docVIP

[计算机]Shell编程:Linux系统环境程序设计之路.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]Shell编程:Linux系统环境程序设计之路

Shell编程:Linux系统环境程序设计之路 函数 别的高级语言都有函数的感念,当然shell编程也有这个概念,当写一个比较大型的shell程序的时候,如果没有函数,则会到处都是重复的代码。当然也可以调用别的脚本,但是速度会比较慢。所以函数是必不可少并且非常重要的一个东西。 定义函数的格式 function_name(){...} 例子: //~ fun_s show(){ echo show $* } echo $* echo after function show c d echo $* exit 0 ///////////////////////////// $./fun_s a b 结果是 a b after function c d a b 从上面的例子可以看出,当脚本调用函数的时候,脚本程序的位置参数会被替换成函数的位置参数,并且函数调用结束后还原。 return: //~ return_s #!/bin/bash first(){ echo is return } second(){ echo before return return 0 echo after return } return_value=$(first) echo $return_value secondecho return 0||echo return other exit 0 ////////////////////////////////////// 输出 is return before return return 0 该例子说明可以捕获函数内echo的字符串,如echo $(first) , 函数在return后不会再执行下面的语句。 secondecho return 0||echo return other 该句的输出为 return 0。这里有人可能会和C语言混淆,因为在C语言里0表示的是false。而这里的0表示函数执行成功,可以理解为true,所以会输出return 0。 命令 break,continue 和c语言基本类似 echo 了解一点即可echo -n 输出没有换行。 eval: 例子: //~ eval_s #!/bin/bash var1=abcd var2=var1 eval var3=\$var2 echo $var3 exit 0 /////////////////////////// eval相当于一个额外的$,它给出一个变量值的值,如例子里先是$var2使var3变成\$var1,又var1=abcd,所以var3变为abcd,连续解析了两次变量。 export: 看下面两个例子可以很好的说明export的作用。 //~ export1_s #!/bin/bash var1=this is var1 var2=this is var2 export var2 ./export2_s exit 0 /////////////////////////// //~ export2_s #!/bin/bash echo $var1 echo $var2 exit 0 ///////////////////////// 输出: this is var2 输出结果说明var1为空而var2却有值,这正是export起的作用,把var2变成了一个环境变量。 再看个例子: #!/bin/bash echo $var1 echo $var2 echo $var3 exit 0 ////////////////////////// //~ set-a_s #!/bin/bash set -a var1=var1 var2=var2 var3=var3 ./set-a2_s exit 0 ////////////////////////// //~ set-a2_s 输出: var1 var2 var3 set -a的作用就是把它之后声明的所有变量都export printf: 和C语言里的printf用法很相似的一个命令,使用非常方便。 set: //~ set_s #!/bin/bash fun1() { echo a b c d } set $(fun1) echo $1 echo $(date) set $(date) echo $1 exit 0 ///////////////////////输出: a 2008年 03月 06日 星期四 03:57:55 CST 2008年 date的输出是几个由空格分隔的值,set的作用能分隔出每个域。 shift: 就是让$2变$1,$3变$2,依此类推。 trap: 非常有用的一个命令,用于指定接受到信

文档评论(0)

ctuorn0371 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档