linux课程设计shell编程

linux课程设计shell编程

ID:31384131

大小:622.00 KB

页数:9页

时间:2019-01-09

linux课程设计shell编程_第1页
linux课程设计shell编程_第2页
linux课程设计shell编程_第3页
linux课程设计shell编程_第4页
linux课程设计shell编程_第5页
资源描述:

《linux课程设计shell编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计报告课程名称Linux操作系统课程设计指导教师张玲起止日期2014-03-01至2014-06-13实验项目实验三Shell编程学院信息与通信工程学院专业电子信息工程学生姓名班级/学号成绩指导老师签字1.课程设计概述理解Shell程序的执行环境和执行过程,掌握Shell语言的一般语法规则,能用bash编写,调试简单的shell程序。1.1课程设计的目的本实验的目的是使学生理解Shell程序的执行环境和执行过程,掌握Shell语言的一般语法规则,能用bash编写简单的shell程序。1.2课程设计的内容l编写一个shell脚本routine,实现日

2、程提醒功能;l编写一个shell脚本makememo,实现备忘录管理功能;l(选作)修改脚本,改进或增加新的功能。1.3设计原理图1Shell工作流程1.实验步骤1.1操作1.1.1编辑备忘录(vi编辑)在exp3目录下,编辑一个备忘录文件memo,其中的每行为一项日程安排,格式是:mm/dd/yy日程提示以下是一个memo文件的例子:06/03/14mother'sbirthday06/08/14lunchwithjoe06/12/14callzhang06/14/14meeting4pm06/15/14shoppingwithmary1.1.2编写日

3、程提醒脚本(此部分操作截图见图2)在exp3目录下编写一个Shell脚本routine,完成以下功能:1.显示初启信息¨脚本启动时首先输出一些初始信息,包括程序名称与编者、当前的日期与时间、适当的问候语等,格式自定。例如:*****routinev1.0by2012010948*****GoodEvening!用户名TodayisTueMar1219:25:30CST2014¨提醒用户当日的日程安排查询备忘录文件memo,显示今日的日程安排。图2日程提醒1.1.1运行脚本(此部分操作截图见图3、4)1.执行脚本。¨为routine脚本设置执行权(chmo

4、d755routine),运行routine脚本(./routine),调试并检查运行结果。提示:变换memo文件内容,检查日程提示是否正确。图3执行脚本2.自动执行脚本。¨编辑主目录下的.bashrc文件,将~/2012010948/exp3/routine命令行加到文件末尾(注意将your-sid替换为你的学号)。重新启动“终端”,检查脚本是否能成功地自动执行。图4自动执行脚本1.1.2编写备忘录管理脚本1.在exp3目录下编写一个Shell脚本makememo,完成以下功能:¨显示初启信息及菜单显示程序初启信息(程序名、编者学号等信息),显示程序的

5、菜单,例如:makememov1.0by2012010948*********MENU*********1.xxxxx2.xxxx3.xxxxxx4.…¨接收并处理用户的输入根据用户的输入的菜单编号,执行相应的功能。1.1.3运行脚本(此部分操作截图见图5)1.1.4(选做)修改脚本(此部分操作截图见图5)1.添加查找功能(按日期)2.添加查找功能(按序号)图5备忘录管理1.实验结论与评价1.1日程提醒此部分操作较为简单,大部分代码老师都已经给出来了,遇到困难的地方是没有办法准确地显示出当日的日程,在老师的帮助下发现原因是系统的显示时间格式必须和编辑的备

6、忘录时间格式相同。在这个操作中主要掌握了两个技巧,一是如何根据时间显示不同的问候语,主要是会用case语句,二是如何匹配日期,用下面的语句。主要是grep的用法。echo$daygrep$day$HOME/2012010948/exp3/memo

7、

8、echoNothing.1.2备忘录管理(含选作)脚本的初始代码老师已经给出,难度不大,主要是需要看懂,学会灵活运用sed命令处理文本文件。选作部分根据日期查找很容易做,但是根据序号查找遇到了困难,用grep操作的话,会显示所有含有查找序号的日程,但是用sed-n"${num}p"file就可以轻松实现。1.

9、程序清单1.1Routineecho'*****routinev1.0by2012010948*****'hour='date+%H'case$hourin08

10、09

11、10

12、11

13、12)echo"GoodMorning!Vanilla";;13

14、14

15、15

16、16

17、17)echo"GoodAfternoon!Vanilla";;18

18、19

19、20

20、21

21、22)echo"GoodEvening!Vanilla";;*)echo"Hello!Vanilla";;esacechoTodayis`date`echo-n"memo:"day=`date+%D`echo

22、$daygrep$day$HOME/2012010948/exp3/memo

23、

24、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。