- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
232第四部分基础shell编程-LinuxTone.Org.PDF
下载
第20章 向脚本传递参数
前面已经讲到如何使用特定变量 $ 1 . . $ 9 向脚本传递参数。$ #用于统计传递参数的个数。可
以创建一个u s a g e语句,需要时可通知用户怎样以适当的调用参数调用脚本或函数。
本章内容有:
• shift 。
• getopts 。
• shift和g e t o p t s例子。
简单地说,下述脚本框架控制参数开始与停止。脚本需要两个参数,如果没有输入两个
参数,那么产生一个u s a g e语句。注意这里使用 c a s e语句处理输入脚本的不同参数。
执行脚本,输入以下参数,结果为:
任何U N I X或L I N U X命令均接受一般格式:
命令 选项 文件
第20章 向脚本传递参数 225
下载
选项部分最多可包含 1 2个不同的值。上述脚本中,如果必须控制不同的命令选项,就要
加入大量脚本。这里只控制两个选项:开始和停止。
幸运的是s h e l l提供s h i f t命令以帮助偏移选项,使用 s h i f t可以去除只使用 $ 1到$ 9传递参数的
限制。
20.1 shift命令
向脚本传递参数时,有时需要将每一个参数偏移以处理选项,这就是 s h i f t命令的功能。
它每次将参数位置向左偏移一位,下面用一段简单脚本详述其功能。脚本使用 w h i l e循环反馈
所有传递到脚本的参数。
你可能想像,上述脚本一直执行,直到命令行中不再有更多的参数输入。错了,因为没
有办法偏移到脚本中下一个参数,将只会反馈出第一个参数。执行结果如下:
20.1.1 shift命令简单用法
使用s h i f t命令来处理传递到脚本的每一个参数。改动后脚本如下:
现在再执行,结果将会不同:
20.1.2 命令行输入的最后一个参数
虽然还没有讲e v a l命令,如果需要知道命令行中输入的最后一个参数(通常是一个文件名),
可以有两种选择:使用命令 eval echo \$$# ;使用s h i f t命令:shift expr $# -2 。
226 第四部分 基础s h e l l编程
下载
20.1.3 使用shift处理文件转换
s h i f t可使控制命令行选项更加容易。下面构造一个转换脚本,使用 t r将文件名转换为大写
或小写。
脚本选项为:
-l 用于小写转换。
-u 用于大写转换。
使用s h i f t命令将脚本放在一起以控制 - l和- u选项。脚本的第一版本如下:
首先检查脚本是否有参数,如果没有,打印 u s a g e 语句,如果有需要处理的参数,使用
c a s e语句捕获每一个传送过来的选项。当处理完此选项后,使用 s h i f t命令搜集命令行中下一选
项,如果未发现匹配选项,打印 u s a g e语句。
当向脚本传递两个无效参数时,输出如下:
下一步就是要用c a s e语句处理选项后传递过来的文件名。为此需改动 c a s e语句。c a s e语句
中捕获任意模式*应该为- * 以允许传递无效选项,例如- p或- q 。
第20章 向脚本传递参数 227
下载
*模式也匹配传递过来的所有文件名,以便用 f o r循环处理每一个文件,这里也将使用 - f选
项检测文件是否存在。
改动后的c a s e语句如下:
还需要指定与选项( - l ,- u )相关的变量设置。这些变量是:
T R C A S E 保存转换类型(大写或小写)。
E X T 所有文件转换后,大写文件名为 . U C,小写为. L C,不保存初始文件状态。
O P T 如果给出此选项,设其
您可能关注的文档
- 1定量分析气相层析的操作.PDF
- 1建设项目基本情况-南涧县.doc
- 2019年琼海市市级储备(小麦)专场竞价销售交易细则.doc
- 2013-2014学年第一学期末学生学术活动周-中南大学商学院.doc
- 2015年区属中小学(北区)维修改造工程施工2标段-安徽公共资源交易集团.doc
- 2018年人力资源管理师一级考点强化班5讲-点跃在线.doc
- 2018年北京市科学技术奖推荐公示内容(公告栏)一、项目名称遗传性.doc
- 2基于状态空间的机械臂轨迹规划-ResearchGate.doc
- 3-PRS平行运动平台之工作空间、奇异曲面与刚性分析-高苑科技大学.PDF
- 3.0TMRI扩散加权成像表观扩散系数直方图与乳腺浸润-南京医科大学.PDF
- 工会代表大会运行规则及十大制度解读.docx
- 法院合同法案例分析与学习笔记.docx
- 医疗急救口头医嘱管理流程制度.docx
- 幼儿园科学实验教学设计案例.docx
- 2025秋九年级英语全册Unit2Ithinkthatmooncakesaredelicious课时3SectionAGrammarFocus_4c习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit5WhataretheshirtsmadeofSectionA合作探究二课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit2Ithinkthatmooncakesaredelicious课时4SectionB1a_1d习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit1Howcanwebecomegoodlearners课时3SectionAGrammarFocus_4c习题课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit5Whataretheshirtsmadeof课时4SectionB1a_1e课件新版人教新目标版.pptx
- 2025秋九年级英语全册Unit3Couldyoupleasetellmewheretherestroomsare课时3SectionAGrammarFocus_4c课件新版人教新目标版.pptx
最近下载
- 不合格食品处置管理制度(食品公司标准版).docx VIP
- 2025海南三亚市中医院(考核)招聘员额制和事业编人员137人(第1号)笔试备考题库及答案解析.docx VIP
- 20以内连加口算练习题4000题 每页80题(141).docx VIP
- 侯柱峰-vasp计算晶体弹性常数.pdf VIP
- 高铁大桥道岔连续梁施工技术方案.docx VIP
- DBJ_T 15-101-2022 建筑结构荷载规范.docx VIP
- 普通化学习题集(参考).doc VIP
- 道岔梁专项施工方案道岔梁专项施工方案.doc VIP
- 华容道解法(带图解超完整直接打印效果).pdf VIP
- 小区电梯维保项目 投标方案(技术方案).doc VIP
原创力文档


文档评论(0)