习题07_Shell编程电子教案
- 格式:doc
- 大小:49.00 KB
- 文档页数:17
实验七 LINUX-Shell编程一.实验名称:Shell 简单编程实验和较复杂的考勤模拟shell程序设计二.实验目的:理解Shell程序的设计方法;熟悉Shell程序的编辑、运行、调试方法与过程。
三.实验内容:考勤模拟Shell程序设计用shell设计一个模拟考勤程序,实现如下功能选择界面:1:上班签到2:下班签出3:缺勤信息查阅考勤程序运行后,提示用户输入上述功能选择,并验证用户输入的用户名和密码;用户信息保存在userinfo.dat中。
如果是上班签到,记录签到信息,如果签到时间大于上午8时,则提示用户迟到,并记录该迟到信息到check.dat中。
如果是下班签出,记录签出信息,如果签出时间小于下午6时,则提示用户早退,并记录该早退信息到check.dat。
如果用户选择确信信息查询,则将check.dat中对应的用户迟到早退的信息查询出来并显示。
用户选择功能执行完,Shell程序继续回到功能选择界面等待下一个用户进行操作。
四.实验要求:1、掌握Shell程序的编辑、运行、调试方法2、完成实验内容要求的功能五.简单SHELL实验:请在vi中逐一编辑并执行以下6个shell脚本程序1.编写一个简单的回显用户名的shell程序。
#vi dat#!/bin/bash#filename:datecho "Mr.$USER,Today is:"echo `date`echo Wish you a lucky day!#chmod +x dat#./dat2.使用if-then语句创建简单的shell程序。
#vi bbbb#!/bin/bash#filename:bbbbecho -n "Do you want to continue: Y or N"read ANSWERif [ $ANSWER=N -o $ANSWER=n ]thenexitfi#chmod +x bbbb#./bbbb3.使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序。
shell编程课程设计一、课程目标知识目标:1. 理解Shell编程的基本概念,掌握Shell脚本的结构和语法;2. 学会使用常见Shell命令,如文件操作、文本处理等;3. 掌握Shell编程中的变量、循环、条件判断等基本元素;4. 了解Shell脚本的执行过程和调试方法。
技能目标:1. 能够编写简单的Shell脚本,实现文件管理和系统监控等基本功能;2. 能够运用Shell脚本解决实际问题,如批量处理文件、自动化部署等;3. 学会使用Shell脚本进行数据处理和分析,提高工作效率;4. 培养学生独立思考和解决问题的能力,提高编程实践技能。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发学习主动性;2. 培养学生良好的编程习惯,注重代码规范和注释;3. 培养学生团队协作精神,学会分享和交流编程经验;4. 增强学生信息安全意识,遵循法律法规,合理使用计算机资源。
课程性质:本课程为高年级选修课程,旨在帮助学生掌握Shell编程技能,提高计算机操作水平。
学生特点:学生具备一定的计算机操作基础,对编程有一定了解,但实践经验不足。
教学要求:结合学生实际情况,注重理论与实践相结合,强调动手实践,培养学生实际编程能力。
通过本课程的学习,使学生能够独立完成简单的Shell脚本编写,解决实际问题。
二、教学内容1. Shell编程概述- Shell的概念与作用- 常见Shell类型及选择2. Shell脚本基础- 脚本结构和执行方式- 变量定义与使用- 传递参数和特殊变量- 环境变量配置与应用3. 常用Shell命令- 文件操作命令(如:ls、cp、mv等)- 文本处理命令(如:grep、sed、awk等)- 管道和重定向4. 控制结构- 条件判断(if、case)- 循环结构(for、while)5. 函数与模块- 函数的定义与调用- 模块化编程方法6. Shell脚本调试与优化- 常见错误类型及处理- 调试技巧与优化方法7. 实践项目- 文件批量重命名- 自动化部署脚本- 系统监控与报警教学内容安排与进度:第1周:Shell编程概述及环境配置第2周:Shell脚本基础与变量使用第3周:常用Shell命令与文本处理第4周:控制结构(if、for、while)第5周:函数与模块化编程第6周:Shell脚本调试与优化第7-8周:实践项目及总结教学内容与课本关联性:本课程内容紧密围绕教材中Shell编程相关章节,结合实际案例进行拓展,确保学生能够系统掌握Shell编程知识。
SHELL编程基本概念:计算机为我们工作的是硬件,控制硬件的是计算机内核,我们使用者是利用Shell控制一些kernel提供的工具(Utility)来操控硬盘替我们正确工作。
Linux可以使用的shell:/bin/sh (已经被/bin/bash取代)/bin/bash (Linux预设的bash,是GNU计划中的)/bin/ksh (Kornshell由AT&A Bell lab开发的,兼容于bash)/bin/tcsh (整合C shell,提供更多的功能)/bin/csh (被/bin/tcsh取代)/bin/zsh (由ksh发展过来的,提供更多的功能)命令补全功能:Tab,按一次能把唯一匹配的补全,如果按两次会把所有能匹配的全部打印出来命令取别名功能:alias lm = 'ls -alLinux提供2种命令:内部命令的执行速度比外部命令要快的多shell的内部命令如:echo shell内部本身提供的命令shell的外部命令如:ls shell本身不提供,但它是通过shell调用/bin/ls 在解释内部命令是shell不需要创建子进程。
而外部命令需要创建单独的新进程,从而加大了系统的开销。
外部命令就是路径搜索下可以找到的,执行会起子进程。
某些shell内部命令与系统命令具有相同的名字,但其实现方式不一样如shell内部命令echo 与系统命令/bin/echo名字完全一样功能也相同如:[root@am ~]# echo "test echo string"test echo string[root@am ~]# /bin/echo "test echo string use system command"test echo string use system command使用type命令,可以查看该命令是内部命令还是外部命令-t 显示意义缺省参数显示是内部还是外部*系统命令在/bin目录下,若把/bin下的该命令文件删除后,该命令仍然好用,则为内部命令。
教师学科教案[ 20 – 20 学年度第__学期]任教学科:_____________任教年级:_____________任教老师:_____________xx市实验学校SHELL编程基本概念:计算机为我们工作的是硬件,控制硬件的是计算机内核,我们使用者是利用Shell控制一些kernel提供的工具(Utility)来操控硬盘替我们正确工作。
Linux可以使用的shell:/bin/sh (已经被/bin/bash取代)/bin/bash (Linux预设的bash,是GNU计划中的)/bin/ksh (Kornshell由AT&A Bell lab开发的,兼容于bash)/bin/tcsh (整合C shell,提供更多的功能)/bin/csh (被/bin/tcsh取代)/bin/zsh (由ksh发展过来的,提供更多的功能)命令补全功能:Tab,按一次能把唯一匹配的补全,如果按两次会把所有能匹配的全部打印出来命令取别名功能:alias lm = 'ls -alLinux提供2种命令:内部命令的执行速度比外部命令要快的多shell的内部命令如:echo shell内部本身提供的命令shell的外部命令如:ls shell本身不提供,但它是通过shell调用/bin/ls 在解释内部命令是shell不需要创建子进程。
而外部命令需要创建单独的新进程,从而加大了系统的开销。
外部命令就是路径搜索下可以找到的,执行会起子进程。
某些shell内部命令与系统命令具有相同的名字,但其实现方式不一样如shell内部命令echo 与系统命令/bin/echo名字完全一样功能也相同如:[root@am ~]# echo "test echo string"test echo string[root@am ~]# /bin/echo "test echo string use system command"test echo string use system command使用type命令,可以查看该命令是内部命令还是外部命令-t 显示意义缺省参数显示是内部还是外部*系统命令在/bin目录下,若把/bin下的该命令文件删除后,该命令仍然好用,则为内部命令。