《Shell脚本-从入门到精通》.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
语法结构 case expr in # expr 为表达式,关键词 in 不要忘! pattern1) # 若 expr 与 pattern1 匹配,注意括号 commands1 # 执行语句块 commands1 ;; # 跳出 case 结构 pattern2) # 若 expr 与 pattern2 匹配 commands2 # 执行语句块 commands2 ;; # 跳出 case 结构 ... ... # 可以有任意多个模式匹配 *) # 若 expr 与上面的模式都不匹配 commands # 执行语句块 commands ;; # 跳出 case 结构 esac # case 语句必须以 esac 终止 case 选择语句 case 语句举例:yes_no.sh 几点说明 每个命令块的最后必须有一个双分号,可以独占一行,或放在最后一个命令的后面。 所给的匹配模式 pattern 中可以含有通配符和“ | ”。 如果 expr 没有找到匹配的模式,则执行缺省值 “ *) ” 后面的命令块 ( 类似于 if 中的 else ); “ *) ” 可以不出现。 表达式 expr 按顺序匹配每个模式,一旦有一个模式匹配成功,则执行该模式后面的所有命令,然后退出 case。 yes_no.sh #!/bin/bash # test case # scriptname: yes_no.sh # echo -n Do you wish to proceed [y/n]: read ans case $ans in y|Y|yes|Yes) echo yes is selected ;; n|N|no|No) echo no is selected ;; *) echo `basename $0`: Unknown response exit 1 ;; esac 语法结构 for variable in list # 每一次循环,依次把列表 list 中的一个值赋给循环变量 do # 循环开始的标志 commands # 循环变量每取一次值,循环体就执行一遍 done # 循环结束的标志 几点说明 列表 list 可以是命令替换、变量名替换、字符串和文件名列表 ( 可包含通配符 ) for 循环执行的次数取决于列表 list 中单词的个数 for 循环体中一般要出现循环变量,但也可以不出现 for 循环语句 执行第一轮循环时,将 list 中的第一个词赋给循环变量,并把该词从 list 中删除,然后进入循环体,执行 do 和 done 之间的命令。下一次进入循环体时,则将第二个词赋给循环变量,并把该词从 list 中删除,再往后的循环也以此类推。当 list 中的词全部被移走后,循环就结束了。 循环执行过程 forloop.sh,mybackup.sh 位置参量的使用: $* 与 $@ greet.sh 可以省略 in list ,此时使用位置参量 permx.sh idcheck.sh greet.sh yes_no.sh permx.sh *.sh for 循环执行过程 forloop.sh #!/bin/bash # Scriptname: forloop.sh for name in Tom Dick Harry Joe do echo Hi $name done echo out of loop forloop2.sh #!/bin/bash # Scriptname: forloop2.sh for name in `cat namelist` do echo Hi $name done echo out of loop mybackup.sh #!/bin/bash # Scriptname: mybackup.sh # Purpose: Create backup files and store # them in a backup directory. # backup_dir=backup mkdir $backup_dir for file in *.sh do if [ -f $file ] then cp $file $backup_dir/${file}.bak echo $file is backed up in $backup_dir fi d

文档评论(0)

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

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

1亿VIP精品文档

相关文档