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

第2章Shell编程-new.pptVIP

  1. 1、本文档共93页,可阅读全部内容。
  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文档。上传文档
查看更多
* * * 2.4.5 case语句 例:Linux是一个多用户操作系统,编写一程序根据不同的用户登录输出不同的反馈结果。 用vi编辑脚本程序test15 [root@localhost bin]#vi test15 #!/bin/sh case $USER in beichen) echo You are beichen!;; liangnian) echo “You are liangnian”; //注意这里只有一个分号,也可以省略 echo Welcome!;; //这里才是两个分号 root) echo You are root! ; echo Welcome!;; //将两命令写在一行,用一个分号作为分隔符 *) echo Who are you?$USER?;; esac * * 2.5.1 break和continue语句 break命令使得程序跳出for、while、until循环,执行done后面的语句,这样就永久终止了循环。 continue命令使得程序跳到done,这使得循环条件被再次求值,从而开始新的一次循环,循环变量取循环列表中的下一个值。。 无论哪种情况,循环体中在这两条命令后的语句都没有执行。 break命令和continue命令常作为条件语句的一部分来使用。 * 2.5.2 exit 语句 exit命令使脚本程序结束运行,退出码为n。 语句语法:exit n 在任何一个交互式shell的命令提示符中使用这个命令,它都会让你退出系统。 如果在退出时不指定一个退出状态,那么该脚本中最后一条被执行命令的状态将被用作返回值。 在shell脚本编程中,退出码0表示成功,退出码1~125是脚本程序使用的错误代码。其余数字具有保留含义 : * * 2.5.3 printf语句 X/Open规范建议应该用它来代替echo命令以产生格式化的输出。 语句语法: printf “format string” parameter1 parameter2 … 格式字符串与C/C++中使用的非常相似,但有一些自己的限制。主要是不支持浮点数。 格式字符串由各种可打印字符、转义序列和字符转换限定符组成。 格式字符串中除了%和\之外的所有字符都将按原样输出。 支持的转义序列:表2-7 ,P60。 主要的转换字符:表2-8,P61。 * * * 2.6 数值处理 在Linux系统中bash变量的值是以字符串方式存储。如果需要进行算术和逻辑操作,必须先转换为整数,得到运算结果后再转换回字符串,以便正确地保存于shell变量中。 bash提供了三种方法对数值数据进行算术运算: (1) let命令 (2) shell扩展$(( expression )) (3) expr命令 表达式求值以长整数进行,并且不作溢出检查。当在表达式中使用shell变量时,变量在求值前首先将被扩展和强制转换为长类型。 同组的运算符有相同的优先级。将表达式置于括号中可改变求值的次序。 以0为首的数字当作八进制数,以0x或0X为首的数字当作是十六进制数,除此之外则当作十进制数。 bash支持的算术、逻辑和关系运算符:表2-9,P61。 * * * 2.6.1 let命令 let可以用来计算算术表达式的值。如果表达式中有空格或者特殊字符,则应将表达式括在双引号中。 命令语法:let express-list 如果最后的表达式取值为0,let命令返回1;否则返回0。 例: [root@localhost root]# let “x=6” “y = 9” “z = 16” [root@localhost root]# let t=x+y [root@localhost root]# echo “t= $t” t= 15 [root@localhost root]# let A=2**x B=y*z [root@localhost root]# echo “A=$A B=$B” A=64 B=144 * 2.6.2 $((expression))扩展 命令语法:$((expression)) shell计算expression并用其计算结果代替$((expression))。这个语法类似于命令替换所用的语法“$(...)”,并将执行相同的功能。可将$((expression))作为参数传递给命令或者放置在命令行上任何数字位置上。 不需要在expression中的变量名称前加上$符号。 例2.15 age_check程序 #!/bin/bash echo -n How old are you? read age echo Wow, in $((100-age)) yea

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档