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