linux操作系统实验三_第1页
linux操作系统实验三_第2页
linux操作系统实验三_第3页
linux操作系统实验三_第4页
linux操作系统实验三_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、操作系统实践 实验三 LINUX SHELL脚本程序设计一、实验目的通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。二、实验环境操作系统:任何Unix/Linux及Sun Solaris 或 windows 系列应用系统:SHELL 或 windows环境下的cygwin模拟系统三、实验内容本实验包含三个具体的SHELL程序编写任务,较为全面地涉及了SHELL程序的设计方

2、法和技术。内容如下:创建以下菜单程序:USER: * HOST: * DATE: */*/20*A: 创建子目录并复制文件B: 文件权限测试C: 文件字符转换D: 文件总数及文本行数统计E: 文件查找Q: 退出系统 A:在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。测试目录确实存在后,将已存在的file1、file2两文件拷入其中并分别显示两文件的内容。显示完成后将file1、file2两文件截断为大小为0的空文件。 B:测试当前用户对系统中某文件是否有r、w、x的权限,输出测试结果。 C:将file1、file2两文件中的小写字符转换为大写,并将转换后的内容

3、分别写入新文件。判断上述操作成功后分别显示转换后的新文件的内容。 D:统计/dev目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。 E:在/dev目录下查找由s开头且文件名由5个字符组成的文件,找到后用file命令显示其文件类型。yxhCancer:$ #!/bin/shyxhCancer:$ MYDATE='2016-11-01'yxhCancer:$ THIS_HOST='yxh'yxhCancer:$ USER='yinxiaohang'yxhCancer:$ while :> do&

4、gt; tput clear> cat <<MAYDAY> - User:$USER Host:$THIS_HOST Date:$MYDATE - A:创建子目录并复制文件 B:文件权限测试 C:文件字符转换 D:文件总数及文本行数统计 E:文件查找 Q:退出系统 -> MAYDAY> echo -e -n "tYour Choice A,B,C,D,E,Q : "> read CHOICE> case $CHOICE in> A|a)mkdir -mode=755 /home/yxh/test/yinxiaohang&

5、gt; if test -d "/home/yxh/test/yinxiaohang"> then cp file1 file2 /home/yxh/test/yinxiaohang> cat file1> cat file2> :> /home/yxh/test/yinxiaohang/file1> cat /home/yxh/test/yinxiaohang/file1> :> /home/yxh/test/yinxiaohang/file2> cat /home/yxh/test/yinxiaohang/file2

6、> else echo file1 is not a file name> fi> ;> B|b) if -f file1 > then test -r file1 -a -w file1 -a -x file1> ls -l file1> else echo file1 do not rwx> fi> ;> C|c)tr 'a-z' 'A-Z' < file1 > 1> tr 'a-z' 'A-Z' < file2 > 2> if t

7、est -f 1 -a 2> then cat 1> cat 2> else echo fail!> fi> ;> D|d)ls -l /dev> ls -l /dev |grep d|wc -l> ls -l /dev |grep l|wc -l> cat 3> cat 3|grep '$'|wc -l> env> ;> E|e)find /dev -name "sa-za-za-za-z"> find /dev -name "sa-za-za-za-z"

8、; >4> var=$(cat 4)> file -b $var%.*> ;> Q|q)exit 0> ;> *)echo -e "t007unknown user reponse"> ;> esac> echo -e -n "tHit the return key to continue"> read DUMMY> done文件pc.txt中保存了三个班级的学生选课成绩,试编写一段shell程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。 pc.tx

9、t文件内容如下: student1:1301:75 Student2:1302:96 Student3:1303:99 Student4:1302:93 Student5:1303:23 Student6:1301:77yxhCancer:$ #!/bin/bashyxhCancer:$ PASS1=0;yxhCancer:$ PASS2=0;yxhCancer:$ PASS3=0;yxhCancer:$ NUMBER1=0;yxhCancer:$ NUMBER2=0;yxhCancer:$ NUMBER3=0;yxhCancer:$ SAVEDIFS=$IFSyxhCancer:$ IFS=

10、:yxhCancer:$ while read NAME CLASS SCORE> do> case $CLASS in> 1301)> NUMBER1=expr $NUMBER1 + 1> if $SCORE -ge 90 > then PASS1=expr $PASS1 + 1> fi> ;> 1302)> NUMBER2=expr $NUMBER2 + 1> if $SCORE -ge 90 > then PASS2=expr $PASS2 + 1> fi;> 1303)> NUMBER3=expr

11、 $NUMBER3 + 1> if $SCORE -ge 90 > then PASS3=expr $PASS3 + 1> fi> ;> *)> echo "FAIL !"> ;> esac> done < pc.txtyxhCancer:$ echo $PASS10yxhCancer:$ echo $PASS22yxhCancer:$ echo $PASS31yxhCancer:$ PASS1=$(echo "$PASS1/$NUMBER1+$PASS1%$NUMBER1*0.50"|bc|a

12、wk 'printf "%.2f",$0')yxhCancer:$ PASS2=$(echo "$PASS2/$NUMBER2+$PASS2%$NUMBER2*0.50"|bc|awk 'printf "%.2f",$0')yxhCancer:$ PASS3=$(echo "$PASS3/$NUMBER3+$PASS3%$NUMBER3*0.50"|bc|awk 'printf "%.2f",$0')yxhCancer:$ echo "1

13、301 $NUMBER1 $PASS1"1301 2 0.00yxhCancer:$ echo "1302 $NUMBER2 $PASS2"1302 2 1.00yxhCancer:$ echo "1303 $NUMBER3 $PASS3"1303 2 0.50yxhCancer:$ IFS=$SAVEDIFS认真学习、理解find和grep(家族)命令,编制两个个性化的文件搜索工具。while :> do > tput clear> cat <<MAYDAY> > * A:按文件内容查找文件并显示其路径 B:按文件名查找文件并显示其路径 *> MAYDAY> echo -e -n "t请选择A OR B : "> read CHOICE> case $CHOICE in> A)read -p "请输入字符串 :" val> find .|xargs grep -ri "$val" -l> ;>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论