实验三 LINUX SHELL脚本程序设计
实验三 LINUX SHELL脚本程序设计
实验类别:设计型 实验时数:6学时
开课单位:计算机学院计算机科学与技术系 实验地点:健翔校区计算中心
一、实验目的
通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。
二、实验环境
操作系统:任何Unix/Linux及Sun Solaris 或 windows 系列
应用系统:SHELL 或 windows环境下的cygwin模拟系统
三、预备知识
1、 SHELL程序的主要用途
在SHELL程序中不仅仅可以使用命令的集合,而且可以安排自动化处理过程,因此可以通过编写SHELL程序使大量的任务执行实现自动化。SHELL比较擅长完成系统管理任务,尤其适合完成那些易用性、可维护性和便携性比执行效率更优先的任务。
我们可以使用任意一种文本编辑器完成SHELL程序的编写,在SHELL编程中要遵循一定的程序设计规则和变量使用规则。
2、 SHELL程序的执行与调试
⑴在bash的SHELL程序设计中,程序必须以下面的行开始:
#!/bin/bash
这里符号#!用来告诉系统,后面给出的参数是用来执行该文件的程序。
⑵当编辑完一个SHELL脚本后,要使该脚本能够执行,还必须使该脚本文件具有可执行权。需要执行命令:chmod +x filename
⑶在shell程序中,以#开头到一个行结束的句子表示注释信息。建议大家在编写shell程序时养成添加注释的习惯,因为注释不仅能给其他需要熟悉该程序的人以帮助,也能给出脚本编写者设计原理的提示。
⑷进行shell程序设计时,必定会用到变量。Shell编程中使用的变量有自己的特色,即所有的变量都是由字符串组成的,而且对变量无须进行声明,可直接进行变量赋值操作。
四、实验内容
本实验包含三个具体的SHELL程序编写任务,较为全面地涉及了SHELL程序的设计方法和技术。内容如下:
⑴创建以下菜单程序:
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:统计系统中某文本文件中空行的行数。
⑵文件pc.txt中保存了某班学生的数学成绩(第一项S*为学生学号,第二项数字为成绩),试编写一段shell程序完成以下操作:①按A(90-100)、B(80-89)、C(70-79)、D(60-69)、E(不及格)五档对成绩进行统计、计算后输出各个分数段的学生人数及总平均分;
②将各分数段的信息分别存入A、B、C、D、E五个文件中(在统计过程中动态完成)。
pc.txt文件内容如下:
S1:75
S2:68
S3:99
S4:83
S5:23
S6:77
S7:75
S8:69
S9:91
S10:83
S11:65
S12:71
⑶认真学习、理解find和grep(家族)命令,编制两个具有个性化且功能强大的文件搜索工具。
五、实验要求
1、做好实验预习,通过查找资料、阅读系统提供的帮助文件等多种渠道
了解本实验所使用的SHELL命令及各种技术方法。充分利用所学知识,预设多种实现思路。
2、写出实验报告,内容是:
⑴简要说明实验的目的、任务与设备。
⑵写出实验步骤、实现的技术手段及关键代码。
⑶在给定实验数据的基础上给出相应的输出结果。
⑷总结实验中遇到的问题及解决方法。
⑸写出实验心得与收获。
六、编写SHELL程序的注意事项
SHELL编程中除了需要遵守一些规则外,还有一些注意事项,如果做得好会对编程工作有促进,这里列出几条仅供大家参考,更多的内容还需自己通过编程积累。
⑴因为LINUX中命令使用的是小写字符,因此在SHELL编程中可以使
用大写字符表示变量以示区别。
⑵在SHELL语句中加入必要的注释,以便以后阅读和维护,注释以”#”
开头。
⑶对SHELL变量进行数字运算时,使用乘法符号”*”时,要用转义符”\”
进行转义。
⑷由于SHELL对命令中多余的空格不进行任何处理,因此程序员可以利
用这一特性调整程序缩进格式,达到增强程序可读性的效果。
⑸在对函数命名时最好能使用有含义且容易理解的名字,即使函数名能
够比较准确地表达函数所完成的任务。同时建议对于较大的程序要建立函数命名和变量命名对照表。
…… 此处隐藏:495字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




