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

嵌入式操作系统第5章 shell编程2精要.ppt

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

请教师带领学生演练一遍。 上述脚本中,由于date命令输出结果是以空格分隔开的内容,因此set命令将date命令的执行结果设置为参数列表,而后可以通过“$2”取出第二个参数“月份”。 请教师带领学生演练一遍。 * * * * * * ex5_19.sh,计算两个数的和 函数参数实例 ex5_20.sh,计算两个数(由shell参数传入)的和 函数参数实例 ex5_21.sh wc -l:统计行数 who:列出登录信息 * 实例:查找某用户是否登录 把一个函数定义放在一个文件当中,而不是在一个shell脚本中。 将经常使用的多个函数存入函数文件(文件名任意),然后将函数文件载入shell。 一旦函数文件载入shell,就可以在命令行或脚本中调用函数。可以使用set命令查看所有定义的函数,其输出列表包括已经载入shell的所有函数。 若要改动函数,首先用unset命令从shell中删除函数。改动完毕后,再重新载入此文件。 在shell中使用函数 这里创建了一个文件functions.main,里面是shell函数定义。注意:functions.main也必须包括#!/bin/bash $cat functions.main #!/bin/sh #functions.main findit() { if [ $# -lt 1 ] ; then echo Usage:findit file return 1 fi find / -name $1 –print } 创建函数文件 文件创建好后,要将它载入shell,使用如下命令: . filename 如:. functions.main 注意格式为:点 空格 文件名,文件名包含路径 载入函数 使用set命令检查函数是否已载入。set命令将在shell中显示所有的载入函数。 $ set findit=( ) { if [ $# -lt 1 ]; then echo usage :findit file; return 1 fi find / -name $1 -print } … 检查载入函数 要执行函数,简单地键入函数名即可: $ findit groups /usr/bin/groups /usr/local/backups/groups.bak 执行shell函数 现在对函数做一些改动。首先删除函数,使其对shell不可用。使用unset命令完成此功能,其命令格式为: unset function_name $ unset findit 如果现在键入set命令,函数将不再显示。 删除shell函数 全局作用域:在脚本的其他任何地方都能够访问该变量。 局部作用域:只能在声明变量的作用域内访问。 声明局部变量的格式: Local name =value * 函数变量作用域 具体参考:/developerworks/cn/linux/l-cn-shell-debug/ 常见方法:运行shell脚本时使用“-x”选项 -x选项用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个+号。 +号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令 shell的调试 shell脚本调试 1.ex5_22.sh:编写一个计算1到100的和的函数,然后调用该函数。 2.ex5_23.sh:编写一个计算1到n的和的函数,其中n由脚本参数给出。调用该函数,计算1到50的和 3.ex5_24.sh:编写一个计算1到n的和的函数,要求n由键盘输入,如果输入的数字小于1,则重新输入,直到输入正确的数字为止; 函数练习 ex5_25.sh:编写一个SHELL函数,用来生成myfile1、myfile2、myfile3。。。等文件。该函数有两个参数,第一个参数指定“myfile”,第二个参数指定生成文件的个数。 ex5_26.sh:编写SHELL程序,完成如下功能:首先判断SHELL脚本运行的目录是否为主目录,如果是,调用第1题写的函数,生成5个以test开头的文件;如果脚本运行目录不是主目录,则先切换到主目录,然后在主目录下创建一个“mydir”目录,把主目录下所有的文件(目录除外)复制到mydir目录下 SHELL脚本练习 ex5_27.sh:编写脚本,用来删除脚本文件中的所有注释(以#开头的行,除第“#!”行之外),并统计删除的行数。被处理的脚本文件名由参数给出。(假定注释都是从一行的最开始的位置开始写) ex5_28.sh:编写函数,计算1

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档