实验三-LINUX-SHELL编程

上传人:bei****lei 文档编号:189664968 上传时间:2023-02-23 格式:DOC 页数:6 大小:38.50KB
返回 下载 相关 举报
实验三-LINUX-SHELL编程_第1页
第1页 / 共6页
实验三-LINUX-SHELL编程_第2页
第2页 / 共6页
实验三-LINUX-SHELL编程_第3页
第3页 / 共6页
点击查看更多>>
资源描述
实验三LINUX SHELL 编程四、 实验内容本实验包含两个具体的 SHELL 程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术。内容如下:1、创建以下菜单程序: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 两文件中的小写字符转换为大写,并将转换后的内容分别写入新文件。判断上述操作成功后分别显示转换后的新文件的内容。D:统计/dev 目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。E:在/dev 目录下查找由 s 开头且文件名由 5 个字符组成的文件,找到后用 file 命令显示其文件类型。#!/bin/bashUSER=WWcHOST=hostname -sMYDATE=date +%d/%m/%ywhile :doclearcat $FILE/file1echo file2内容cat file2echo #:file2fi;B)echo B:文件权限测试echo 请输入要测试的文件绝对路径read NAME1test -r $NAME1if $? -eq 0 thenecho 可读elseecho 不可读fi test -w $NAME1if $? -eq 0 thenecho 可写elseecho 不可写fitest -x $NAME1if $? -eq 0 thenecho 可执行elseecho 不可执行fi;C)echo C:文件字符转换cat file1 | tr a-z A-Z file1.outdiff -q file1 file1.outif $? -eq 1 thenecho file1.out内容cat file1.outficat file2 | tr a-z A-Z file2.outdiff -q file2 file2.outif $? -eq 1 thenecho file2.out内容cat file2.outfi;D)echo /dev 目录下目录文件和符号链接文件的数目find /dev -type d | wc -lfind /dev -type l | wc -lecho file1空行行数统计grep $ file1 | wc -lecho 显示当前系统中所有环境变量env;E)echo 文件查找find /dev -name s? | xargs file;Q)exit 0;*)echo 请输入ABCDEQesacread DDdone2、文件 pc.txt 中保存了三个班级的学生选课成绩,试编写一段 shell 程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。pc.txt 文件内容如下:Student1:1401:75 Student2:1402:96Student3:1403:99Student4:1402:93Student5:1403:23Student6:1401:77#!/bin/bashSAVEDIFS=$IFSIFS=:COUNT1401=0COUNT1402=0COUNT1403=0COUNT1=0COUNT2=0COUNT3=0RATE1=0RATE2=0RATE3=0while read STUDENT CLASS GRADEdo case $CLASS in 1401) COUNT1401=expr $COUNT1401 + 1 ; 1402) COUNT1402=expr $COUNT1402 + 1 ; 1403) COUNT1403=expr $COUNT1403 + 1 ;esacif $CLASS -eq 1401 & $GRADE -ge 80 thenCOUNT1=expr $COUNT1 + 1fiif $CLASS -eq 1402 & $GRADE -ge 80 thenCOUNT2=expr $COUNT2 + 1fiif $CLASS -eq 1403 & $GRADE -ge 80 thenCOUNT3=expr $COUNT3 + 1fiRATE1=expr $COUNT1 * 100 / $COUNT1401RATE2=expr $COUNT2 * 100 / $COUNT1402RATE3=expr $COUNT3 * 100 / $COUNT1403done pc.txtIFS=SAVDEIFSecho 各个班级选课的学生人数echo 1401 = $COUNT1401echo 1402 = $COUNT1402echo 1403 = $COUNT1403echo 各个班级选课的学生人数echo 1401 = $RATE1%echo 1402 = $RATE2%echo 1403 = $RATE3%3
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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