欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Linux课程设计shell编程(共9页).doc

    • 资源ID:13990941       资源大小:602KB        全文页数:9页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Linux课程设计shell编程(共9页).doc

    精选优质文档-倾情为你奉上课 程 设 计 报 告课程名称 Linux操作系统课程设计 指导教师 张玲 起止日期 2014-03-01 至 2014-06-13 实验项目 实验三 Shell编程 学 院 信息与通信工程学院 专 业 电子信息工程 学生姓名 班级/学号 成 绩 指导老师签字 1. 课程设计概述理解Shell程序的执行环境和执行过程,掌握Shell语言的一般语法规则,能用bash编写,调试简单的shell程序。1.1 课程设计的目的本实验的目的是使学生理解Shell程序的执行环境和执行过程,掌握Shell语言的一般语法规则,能用bash编写简单的shell程序。1.2 课程设计的内容l 编写一个shell脚本routine,实现日程提醒功能;l 编写一个shell脚本makememo,实现备忘录管理功能;l (选作)修改脚本,改进或增加新的功能。1.3 设计原理图1 Shell工作流程2. 实验步骤2.1 操作2.1.1 编辑备忘录(vi编辑)在exp3目录下,编辑一个备忘录文件memo,其中的每行为一项日程安排,格式是:mm/dd/yy 日程提示以下是一个memo文件的例子:06/03/14 mother's birthday06/08/14 lunch with joe06/12/14 call zhang06/14/14 meeting 4pm06/15/14 shopping with mary2.1.2 编写日程提醒脚本(此部分操作截图见图2)在exp3目录下编写一个Shell脚本routine,完成以下功能:1. 显示初启信息¨ 脚本启动时首先输出一些初始信息,包括程序名称与编者、当前的日期与时间、适当的问候语等,格式自定。例如:* routine v1.0 by *Good Evening!用户名Today is Tue Mar 12 19:25:30 CST 2014¨ 提醒用户当日的日程安排查询备忘录文件memo,显示今日的日程安排。图2 日程提醒2.1.3 运行脚本(此部分操作截图见图3、4)1. 执行脚本。¨ 为routine脚本设置执行权(chmod 755 routine),运行routine脚本(./routine),调试并检查运行结果。提示:变换memo文件内容,检查日程提示是否正确。图3 执行脚本2. 自动执行脚本。¨ 编辑主目录下的.bashrc文件,将/exp3/routine命令行加到文件末尾(注意将your-sid替换为你的学号)。重新启动“终端”,检查脚本是否能成功地自动执行。图4 自动执行脚本2.1.4 编写备忘录管理脚本1. 在exp3目录下编写一个Shell脚本makememo,完成以下功能:¨ 显示初启信息及菜单显示程序初启信息(程序名、编者学号等信息),显示程序的菜单,例如:makememo v1.0 by * MENU *1. xxxxx2. xxxx3. xxxxxx4. ¨ 接收并处理用户的输入根据用户的输入的菜单编号,执行相应的功能。2.1.5 运行脚本(此部分操作截图见图5)2.1.6 (选做)修改脚本(此部分操作截图见图5)1. 添加查找功能(按日期)2. 添加查找功能(按序号)图5 备忘录管理3. 实验结论与评价3.1 日程提醒此部分操作较为简单,大部分代码老师都已经给出来了,遇到困难的地方是没有办法准确地显示出当日的日程,在老师的帮助下发现原因是系统的显示时间格式必须和编辑的备忘录时间格式相同。在这个操作中主要掌握了两个技巧,一是如何根据时间显示不同的问候语,主要是会用case语句,二是如何匹配日期,用下面的语句。主要是grep的用法。echo $daygrep $day $HOME/exp3/memo | echo Nothing.3.2 备忘录管理(含选作)脚本的初始代码老师已经给出,难度不大,主要是需要看懂,学会灵活运用sed命令处理文本文件。选作部分根据日期查找很容易做,但是根据序号查找遇到了困难,用grep操作的话,会显示所有含有查找序号的日程,但是用sed -n "$nump" file就可以轻松实现。4. 程序清单4.1 Routineecho '* routine v1.0 by *'hour='date+%H'case $hour in 08|09|10|11|12) echo "Good Morning!Vanilla" 13|14|15|16|17) echo "Good Afternoon!Vanilla" 18|19|20|21|22) echo "Good Evening!Vanilla" *) echo "Hello!Vanilla"esacecho Today is dateecho -n "memo: "day=date +%Decho $daygrep $day $HOME/exp3/memo | echo Nothing.4.2 Makememo(含选作)#!/bin/bashecho "makememo v1.0 by " #显示版本和作者信息,须替换your-sidMEMOFILE=$HOME/exp3/memo #定义备忘录文件名add_memo() #向备忘录中添加一条记录 echo -n "输入要添加的日程项:" read item echo $item >> $MEMOFILE sort -o $MEMOFILE $MEMOFILE echo "日程添加已完成"del_by_date() #按给定日期删除一条备忘录记录 echo -n "输入要删除的日程项(mm/dd/yy):" read item sed -i "/$item/d" $MEMOFILE echo "日程删除已完成"del_by_num() #按给定序号删除一条备忘录记录 set wc -l $MEMOFILE echo -n "输入要删除的日程项编号(1-$1):" read num sed -i "$numd" $MEMOFILE echo "日程删除已完成"search_by_date() #按给定日期chaxun一条备忘录记录 echo -n "输入要查找的日程项(mm/dd/yy):" read item grep $item $HOME/exp3/memo | echo Nothing.search_by_num() #按给定序号chaxun一条备忘录记录 set wc -l $MEMOFILE echo -n "输入要查找的日程项编号(1-$1):" read num sed -n "$nump" $HOME/exp3/memo | echo Nothing.print_menu() #显示菜单 echo "* MENU *" echo "1. 显示日程 2. 添加日程" echo "3. 删除日程(按日期) 4. 删除日程(按序号)" echo "5. 显示菜单 6. 退出" echo "7. 查找日程(按日期) 8. 查找日程(按序号)" echo "*"print_menuwhile truedo echo -n "输入操作选择(1-8):" read choice case $choice in 1) cat -n $MEMOFILE; 2) add_memo; 3) del_by_date; 4) del_by_num; 5) print_menu; 7) search_by_date; 8) search_by_num; 6) echo Bye!; break; *) echo Illegal Option; esac done参考文献1 张玲. Linux操作系统 基础、原理与应用,北京:清华大学出版社,2014年2月。2 Neil Matthew, Richard Stones. Linux程序设计(第3版). 陈健等译. 北京:人民邮电出版社, 2007.3 Mark G. Sobell. Linux命令、编辑器与Shell编程. 杨明军等译. 北京:清华大学出版社, 2007.专心-专注-专业

    注意事项

    本文(Linux课程设计shell编程(共9页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开