计算机教程-第23章调试脚本.pdfVIP

  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文档。上传文档
查看更多
下载 第23章 调 试 脚 本 s h e l l编程最烦人的一项工作是调试问题。有一些方法可以借鉴,但是最好能在问题出现 前防止大部分错误,为此应遵循以下规则。 将设计脚本分成几个任务或过程,然后在继续下一步前分别予以测试。 本章内容有: • 一般错误。 • set 命令介绍。 没有比在脚本中发现一个难以察觉的错误更令人头疼的了,然而,随着编程经验不断丰 富,查询手段也相应增加。 经常碰到的问题是忘了使用引号或在 i f语句末尾未加f i 。 需要牢记的一点是当 s h e l l打印出一个脚本错误后,不要只看那些疑问行。而是要观察整 个相关代码段。s h e l l不会对错误进行精确定位,而是在试图结束一个语句时进行错误统计。 23.1 一般错误 23.1.1 循环错误 f o r 、w h i l e 、u n t i l和c a s e语句中的错误是指实际语句段不正确。也许漏写了固定结构中的 一个保留字。 下面错误打印信息 d o n e ,这是一个很好的线索。因为这时知道正在处理一个 w h i l e语句。 回溯脚本段,检查w h i l e语句,是否漏写或错写了关键字,如 d o或者正在使用的条件语句。 23.1.2 典型的漏写引号 第二个典型错误是漏写引号错误。经常要注意这个问题,因为此错误经常出现。这里给 出解决这类错误的唯一方案是在脚本中确保所有引号成对出现。 当s h e l l打印出错误行后,通常在 v i编辑器中查看文件。使用 v i 的set nu选项调试错误,先 进入v i ,然后点击 E S C 键,后跟一冒号,再键入 set nu return ,这时给出文本行号,然后 进入s h e l l打印错误行。 23.1.3 测试错误 另一个常见错误是在使用 - e q语句时忘记在测试条件一边使用数字取值。 如果得到下列错误提示,通常是由于两件事情:需要在变量和方括号间加空格;在方括 号里漏写操作符。 第23章 调 试 脚 本 275 下载 [: missing ] 23.1.4 字符大小写 经验上讲大多数错误是由于使用变量时大小写保持不一致。例如经常在开始定义时用大 写,然后在变量调用时用了小写字符,这样难免变量会没有赋值。 23.1.5 for循环 使用f o r循环时,有时会忘了在循环的列表部分用 $符号,特别是在读取字符串时。 23.1.6 echo 最有用的调试脚本工具是 e c h o命令。一般在可能出现问题的脚本重要部分加入 e c h o命令, 例如在变量读取或修改操作其前后加入 e c h o命令。 使用最后状态命令判断命令是否成功,这里需要注意的是,不要使用 e c h o命令后直接加 最后状态命令,因为此命令永远为真。 23.2 set命令 s e t命令可辅助脚本调试。以下是 s e t命令常用的调试选项: set -n 读命令但并不执行。 set -v 显示读取的所有行。 set -x 显示所有命令及其参数。 将s e t选项关闭,只需用+ 替代- 。有人总认为+应该为开,而-应为关闭,但实际刚好相反。 可以在脚本开始时将 s e t选项打开,然后在结束时关闭它。或在认为有问题的特殊语句段 前后打开及关闭它。 下面看一个例子。以下脚本将名字保存在变量列表中。用户输入名字, f o r循环循环变量 列表查看是否有匹配模式。注意这里在脚本开始时使用了 set -x ,并在结尾部分关闭它。 运行此脚本,给出一个不在列表中的名字,输出如下: 276 第四部分 基础s h e l l编程 下载 输出显示对变量列表进行循环时所有的比较操作。当读取文件或进行字符串或取值的比 较发现问题时,使用 s e t命令是很有必要的。 23.3 小结 跟踪错误的最好方式是亲自查阅脚本,并使

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档