




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选文库实验三 LINUX SHELL 编程四、实验内容本实验包含两个具体的 SHELL程序编写任务,较为全面地涉及了SHELL程序的设计方法和技术。内容如下:1创建以下菜单程序:USER: *host: *A:创建子目录并复制文件B:文件权限测试C:文件字符转换D:文件总数及文本行数统计E:文件查找DATE: */*/20*Q:退出系统A :在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。测试目录确实存在后,将已存在的file1、file2两文件拷入其中并分别显示两文件的内容。显示完成后将file1、file2两文件截断为大小为0的空文件。B:测试当前用户对系
2、统中某文件是否有r、w、x的权限,输出测试结果。将file1、file2两文件中的小写字符转换为大写,并将转换后的内容分别写 入新文件。判断上述操作成功后分别显示转换后的新文件的内容。r、 w、C:统计/dev目录下目录文件和符号链接文件的数目;统计系统中某文本 文件中空行的行数;显示当前系统中所有环境变量。在/dev目录下查找由s开头且文件名由5个字符组成的文件,找到后用 file命令显示其文件类型。#!/bi n/bashE:USER=WWcHOST=host name -sMYDATE=date +%d/%m/%ywhile :doclearcat $FILE/file1echo fil
3、e2 内容cat file2echo #:file2fiB)echo B:文件权限测试echo 请输入要测试的文件绝对路径read NAME1test -r $NAME1 if $? -eq 0 the n echo 可读elseecho 不可读fitest -w $NAME1 if $? -eq 0 the necho 可写elseecho 不可写fitest -x $NAME1if $? -eq 0 the necho 可执行elseecho 不可执行fiC)echo C:文件字符转换cat file1 | tr a-z A-Z file1.outdiff -q file1 file1.o
4、utif $? -eq 1 the necho file1.out 内容cat filel.out ficat file2 | tr a-z A-Z file2.out diff -q file2 file2.outif $? -eq 1 the necho file2.out 内容cat file2.outfiD)echo /dev目录下目录文件和符号链接文件的数目find /dev -type d | wc -lfind /dev -type l | wc -lecho filel空行行数统计grep 八$ filel | wc -lecho 显示当前系统中所有环境变量envE)echo
5、文件查找 find /dev -n ame s? | xargs fileQ) exit 0*)echo 请输入 ABCDEQesacread DDdone2、文件pc.txt中保存了三个班级的学生选课成绩,试编写一段shell程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。pc.txt 文件内容如下:Stude nt1 :1401:751402:96Student3 :1403:99Student4 :1402:93Student5 :1403:23Student6 :1401:77Stude nt2#!/bi n/bashSAVEDIFS=$IFSIFS=:
6、COUNT1401=0COUNT1402=0COUNT1403=0COUNT1=0COUNT2=0COUNT3=0RATE1=0RATE2=0RATE3=0while read STUDENT CLASS GRADE docase $CLASS in1401)COUNT1401=ex pr $COUNT1401 + 11402)COUNT1402=ex pr $COUNT1402 + 1精选文库1403)COUNT1403=ex pr $COUNT1403 + 1esacif $CLASS -eq 1401 & $GRADE -ge 80 the nCOUNT1=ex pr $COUNT1 +
7、 1fiif $CLASS -eq 1402 & $GRADE -ge 80 the nCOUNT2=ex pr $COUNT2 + 1fiif $CLASS -eq 1403 & $GRADE -ge 80 the nCOUNT3=ex pr $COUNT3 + 1fiRATE1=ex pr $COUNT1 * 100 / $COUNT1401 RATE2=ex pr $COUNT2 * 100 / $COUNT1402 RATE3=ex pr $COUNT3 * 100 / $COUNT1403 done p c.txtIFS=SAVDEIFSecho 各个班级选课的学生人数echo 1401 = $COUNT1401echo 14
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论