linux-c编程作业

linux-c编程作业

ID:36241777

大小:1.85 MB

页数:44页

时间:2019-05-07

linux-c编程作业_第1页
linux-c编程作业_第2页
linux-c编程作业_第3页
linux-c编程作业_第4页
linux-c编程作业_第5页
资源描述:

《linux-c编程作业》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、[在此处键入文档的摘要。摘要通常是对文档内容的简短总结。在此处键入文档的摘要。摘要通常是对文档内容的简短总结。]目录1.第一次上机作业11.1调试运行CD唱片应用程序。11.2编写shell脚本,求1到100的和。111.3编写shell脚本,从键盘输入两个数,求这两个数的和。121.4等待特定用户登录,每30秒确认一次。131.5找出系统中当前消耗磁盘容量最大的前10个用户,并向他们发送警告邮件。141.6查找输入文件的路径。152.第二次上机作业162.1定制自己的ls命令。提供至少三种带参数的执行方式;162.2调试编译串行口通信程序p6.5.c;253.第三次上机作业

2、333.1创建一个系统监听守护进程,一旦接收到其他进程发来的信号,马上给出报告;333.2分别利用本地socket套接字和INTENET套接字实现进程间文件传输;364.总结43431.第一次上机作业1.1调试运行CD唱片应用程序。shell源代码分析:#设置全局变量设置ctrl+c组合键中断处理,确保用户中断脚本程序是删除临时文件menu_choice=""current_cd=""title_file="title.cdb"tracks_file="tracks.cdb"temp_file=/tmp/cdb.$$#$$当前进程号trap'rm-f$temp_file'EX

3、IT设置的全局变量,包括标题文件,曲目文件和一个临时文件。#定义简单工具函数get_return(){#函数和花括号之间留有空格显得更整齐些echo-e"Pressreturnc"#-e用在字符串中有转义字符的情况,#c表示取消行末换行符readxreturn0}get_confirm(){#两个函数间留有空格echo-e"Areyousure?c"whiletruedoreadxcase"$x"iny

4、yes

5、Y

6、Yes

7、YES)return0;;n

8、no

9、N

10、No

11、NO)echoecho"Cancelled"return1;;*)echo"Pleaseenterye

12、sorno";;esacdone}为了避免在几个地方反复编写同样的代码,在这里设置了get_return和ger_confirm两个工具函数,并且在最开始位置定义,以确保后面的函数均可找到它们的定义。43#主菜单set_menu_choiceset_menu_choice(){Clear#清屏echo"Optons:-"echo#单个echo相当于回车换行echo"a)AddnewCD"echo"f)FindCD"echo"c)CounttheCDsandtracksinthecatalog"if["$cdcatnum"!=""];then#限制初始条件为空时不能列举删除和更

13、新echo"l)Listtrackson$cdtitle"echo"r)Remove$cdtitle"echo"u)Updatetrackinformationfor$cdtitle"fiecho"q)Quit"echoecho-e"Pleaseenterchoicethenpressreturnc"readmenu_choicereturn}菜单是动态变化的,当初始条件为空时,不能列举,删除和更新。在调试运行结果时,便能体现出。#insert_title和insert_track向数据库文件添加数据;#add_record_tracks添加曲目信息insert_title

14、(){echo$*>>$title_file#>>以追加的方式重定向输出return}insert_track(){echo$*>>$tracks_filereturn}add_record_tracks(){echo"EntertrackinformationforthisCD"echo"Whennomoretracksenterq"cdtrack=1cdttitle=""while["$cdttitle"!="q"]doecho-e"Track$cdtrack,tracktitle?c"readtmp43cdttitle=${tmp%%,*}#从尾部删除与,最长的匹配用

15、来截取字符串if["$tmp"!="$cdttitle"];thenecho"Sorry,nocommasallowed"continuefiif[-n"$cdttitle"];then#-n用来检查是否为空字符串if["$cdttitle"!="q"];theninsert_track$cdcatnum,$cdtrack,$cdttitlefielsecdtrack=$((cdtrack-1))ficdtrack=$((cdtrack+1))done}在这里,insert_title和insert_t

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

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

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