admin管理员组文章数量:1533913
2024年1月8日发(作者:)
课题
课时 2课时(90 min)
知识技能目标:
(1)熟悉创建和执行shell脚本的方法
(2)了解常用的shell变量
教学目标
(3)掌握条件测试语句的使用方法
(4)掌握shell脚本中条件判断语句的使用方法
素质目标:
(1)提高分析问题和解决问题的能力和自信心
(2)遵守日常操作规范,养成良好的个人习惯
教学重点:创建和执行shell脚本的方法,常用的shell变量,条件测试语句的使用方法,shell脚本中教学重难点
教学方法
教学用具
条件判断语句的使用方法
教学难点:掌握shell脚本中条件判断语句的使用方法
案例分析法、问答法、讨论法、讲授法
电脑、投影仪、多媒体课件、教材
第1节课: 课前任务→考勤(2 min)→问题导入(5 min)→传授新知(18 min)→课堂讨论(5 min)教学设计
→课堂实践(15 min)
第2节课:传授新知(15 min)→课堂讨论(10 min)→课堂实践(15 min)→课堂小结(3 min)→作业布置(2 min)
shell简易编程(一)
教学过程 主要教学内容及步骤
第一节课
【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他设计意图
通过课前任务,使学生提前预习要学的知识,提高课堂教效果
培养学生的组织纪律性,掌握学生的出勤情况
通过问题导入的方法,引导学生主动思考,激发学生的学习兴趣
课前任务
学习软件,预习本节课要讲的知识
【学生】完成课前任务
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
【教师】提出以下问题:
考勤
(2 min)
问题导入
(5 min)
什么是shell脚本?
【学生】思考、举手回答
【教师】通过学生的回答引入要讲的知识,介绍shell脚本基础知识,创建和执行shell脚本的方法,以及shell变量的相关知识
通过教师的讲解和演示,使学生了解shell脚本和执行shell脚本的方法,以及传授新知
(18 min)
一、shell脚本概述
文件中的语句可以是shell命令,如echo、pwd和mkdir等,或者是正则表达式、重定向和管道等,也可以是类似高级程序设计语言中的各种流程控制语句,如if条件基础知识,创建shell脚本(shell script)是利用shell的功能编写的程序,该程序是纯文本文件,1
判断语句和for条件循环语句等,还可以是以“#”开头的注释语句,注释语句在执行过程中将被忽略。
此外,用户可以在shell脚本中根据需要自定义变量或函数,以提高程序的复用性和可读性。由于shell脚本的类型有很多,为了使用户编写的脚本在各种类型的shell环境下都能执行,shell脚本中的第一行应为如下语句。
#!/bin/bash
其中,“#!”表示脚本声明,用于告诉系统执行shell脚本使用的命令行终端解释器。此处表示执行shell脚本使用的命令行终端解释器为bash。
【知识库】
可执行如下命令查看当前系统默认使用的命令行终端解释器。
[root@localhost ~]# echo $SHELL
/bin/bash
由以上执行结果可知,RHEL 8默认使用的命令行终端解释器为bash。
二、创建和执行shell脚本
1.创建shell脚本
shell变量的相关知识
✈【教师】提出以下问题,随机邀请学生进行回答
Shell文件的后缀名是什么?
✈【学生】聆听、思考、回答
✈【教师】总结学生的回答
通常使用文本编辑器Vim创建shell脚本,创建完成后就可以编写shell脚本了。shell脚本编写完成后,输入“:wq”并按“Enter”键即可保存文件并退出Vim。
【实例7-1-1】 在“scripts”目录下创建名为“”的shell脚本,用于查看当前工作目录及该目录下所有文件的详细信息。
[root@localhost ~]# mkdir /scripts
[root@localhost ~]# cd /scripts
[root@localhost scripts]# vim
打开“”文件按“i”键后输入以下内容,然后保存文件并退出Vim。
#!/bin/bash
pwd
ls –l
【提示】
shell脚本名可以是任意的,但为了与普通文件进行区分,建议添加“.sh”后缀,以表示是一个脚本文件。
2.执行shell脚本
执行shell脚本主要有以下两种方式。
(1)使用bash命令执行shell脚本,其格式如下。
bash 脚本名
2
这种方式无须将shell脚本的权限设置为可执行。该命令也可由“sh 脚本名”命令代替。
(2)直接输入shell脚本所在路径执行shell脚本,该路径可以是绝对路径,也可以是相对路径。例如,在“/home”目录下创建了一个名为“”的shell脚
本,则可以使用如下命令执行该脚本。
# 以绝对路径的方式执行shell脚本
[root@localhost ~]# /home/
# 以相对路径的方式执行shell脚本
[root@localhost ~]# cd /home
[root@localhost home]# ./
【提示】
直接输入shell脚本所在路径执行shell脚本时,默认情况下会因为权限不足而提示错误信息,此时须将shell脚本的访问权限设置为可执行。
【实例7-1-2】 执行shell脚本“”。
(1)使用bash命令执行shell脚本。
[root@localhost scripts]# bash
/scripts
总用量 4
-rw-r--r--. 1 root root 23 12月 1 17:12
(2)直接输入shell脚本所在路径执行shell脚本。
[root@localhost scripts]# ./
bash: ./: 权限不够
“”文件默认不可执行,故提示“权限不够”。为“”文件添加可执行权限后重新执行shell脚本,执行结果如下。
[root@localhost scripts]# chmod u+x
[root@localhost scripts]# ./
/scripts
总用量 4
-rwxr--r--. 1 root root 23 12月 1 17:12
三、shell变量
1.用户变量
用户变量是指由用户自定义的普通变量。变量名由字母、数字、下画线组成,但是不能以数字开头,并且严格区分大小写,如dir与Dir是两个不同的变量名。
为用户变量赋值的过程也是声明一个变量的过程,用户变量的赋值形式如下。
变量名=字符串或数字
为用户变量赋值后,要想修改变量值,只需重新赋值即可。要想声明一个只读变量,即赋值后不允许再修改,则可以在变量名前添加“readonly”关键词。要想访问变量值,可以在变量名前添加“$”符号。要想在屏幕上显示变量值,可以使用echo命令。
【提示】
在为用户变量赋值时,等号两边一定不能留空格。当需要将一个包含空格的字符串赋给用户变量时,应用双引号将该字符串括起来。
✈【教师】讲解“学以修身”的内容(详见教材),引导学生在日常生活中也需要遵守有形的规则和无形的规矩,强化自我约束
【实例7-1-3】 为用户变量赋值并访问和显示变量值。
[root@localhost ~]# readonly num=100
[root@localhost ~]# num=80
3
bash: num: 只读变量
[root@localhost ~]# lcount=0
[root@localhost ~]# echo $lcount
0
[root@localhost ~]# name="li dong"
[root@localhost ~]# echo $name
li dong
2.位置变量
✈【教师】通过多媒体展示“shell脚本中的参数”图片和例子(详见教材),帮助学生对这些内容有更直观地认识
在Linux操作系统命令行终端执行shell脚本时,脚本名后面可添加多个参数。这些参数可使用位置变量来表示,其中,$1表示第1个参数、$2表示第2个参数,依次类推,$n表示第n个参数。
3.内部变量
✈【教师】提出以下问题,随机邀请学生进行回答
在运行脚本进行参数传递的时候,多个参数之间怎么分隔?
✈【学生】聆听、思考、回答
✈【教师】总结学生的回答
内部变量是Linux操作系统提供的一种特殊类型的变量,在shell脚本中,内部变量值是不能修改的。使用内部变量可以接收用户输入的参数,更好地满足用户的一些实时需求,从而更加灵活地完成任务。部分内部变量及其含义如下。
(1)$#:参数的数量。
(2)$?:命令执行后的返回值。
(3)$0:shell脚本名。
(4)$*:所有参数。
【实例7-1-4】 位置变量和内部变量的使用。
[root@localhost ~]# vim
#!/bin/bash
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别是$*。"
echo "第1个参数为$1,第3个参数为$3,第5个参数为$5。"
[root@localhost ~]# bash one two three four five
当前脚本名称为
总共有5个参数,分别是one two three four five。
第1个参数为one,第3个参数为three,第5个参数为five。
【学生】聆听、思考、理解、记录
【教师】组织学生以小组为单位讨论以下问题:
通过课堂讨论,巩固所学知识,加深学生对shell脚本的理解
4
课堂讨论
(5 min)
问题1:shell有哪3种常用变量
问题2:简述shell用户变量命名规则
问题3:简述执行shell脚本的方法
【学生】聆听、思考、小组讨论,由小组代表上台发表讨论结果
【教师】与学生一起评价各组的发言,并进行总结
【教师】演示shell脚本的编写方法,然后让学生以小组为单位进行实际操作
(1)在“/share”目录下创建一个名为“img_”的shell脚本。
(2)shell脚本“img_”实现的功能是,将系统当前时间信息及“/share/resource”目录下的所有子目录和文件的详细信息追加到“/share/resource/update”文件中,然后将“/share/resource/img”目录移动到“/share/backups”目录下。
(3)每周日18点定时执行shell脚本“img_”。
步骤1 登录Linux操作系统打开命令行终端,执行以下命令创建shell脚本“img_”。
[root@localhost ~]# vim /share/img_
步骤2 打开“img_”文件按“i”键后输入以下内容,然后保存文件并退出Vim。
#!/bin/bash
date >> /share/resource/update # date命令用于获取系统当前时间
ls -lR /share/resource >> /share/resource/update
mv /share/resource/img /share/backups
步骤3 执行以下命令执行shell脚本“img_”。
[root@localhost ~]# cd /share
[root@localhost share]# chmod u+x img_
[root@localhost share]# ./img_
课堂实践
(15 min)
步骤4 执行以下命令创建并编辑周期性计划任务。
[root@localhost share]# crontab -e
0 18 * * 7 /usr/bin/bash /share/img_
……(详见教材)
【学生】按照要求进行操作,如遇问题可自行扫码观看“了解简单的shell脚本”视频,或者询问老师
【教师】巡堂辅导,及时解决学生遇到的问题,根据学生的表现完成任务评价
表7-1-1 任务评价
评价分数
项目名称
职业素养考核项目(30%)
专业能力考核项目(70%)
评价内容
分值 自评 互评
考勤、仪容仪表
安全意识、责任意识
团队合作与交流
积极参与教学活动
正确理解任务要求,并查找任务所需资料,参与讨论
任务实施过程记录的完成度
10分
10分
10分
10分
15分
15分
师评
通过具体实践,让学生将所学知识与实践相结合,培养学生的实操能力
5
创建和执行shell脚本的熟练度
编写简单shell脚本的熟练度
15分
15分
合计:综合分数 自评(20%)+互评(20%)100分
+师评(60%)
综合评语
教师(签字):
第二节课
【教师】介绍条件测试语句、if语句和case语句的相关知识
一、条件测试语句
shell脚本中的条件测试语句可以测试条件表达式的值,若它为真,则返回数字0,否则返回非0。在shell脚本中,条件测试语句可使用test命令来完成,其语法格式如下。
test 条件表达式
条件测试语句也可使用判断符号“[]”来完成,其语法格式如下。
[ 条件表达式 ]
【提示】
test命令的使用方法和“[]”基本一致,只是“[]”常用在if语句中。在“[ 条件表达式 ]”格式中,“[”“]”与条件表达式之间至少有一个空格。
按照测试对象来划分,条件测试语句可分为文件测试语句、逻辑测试语句、整数比较语句和字符串比较语句。
1.文件测试语句
传授新知
(15 min)
文件测试语句用于测试文件是否存在或是否具有某种权限等。常用的文件测试运算符及其含义如表7-2-2所示。
✈【教师】通过多媒体展示“常用的文件测试运算符及其含义”表格,介绍相关知识
表7-2-2 常用的文件测试运算符及其含义
运 算 符
-e
-f
-d
-r
-w
-x
测试文件是否存在
测试文件是否为普通文件
测试文件是否为目录
测试当前用户对某文件是否具有“可读”权限
测试当前用户对某文件是否具有“可写”权限
测试当前用户对某文件是否具有“可执行”权限
含 义
通过教师的讲解和演示,使学生了解条件测试语句、if语句和case语句的相关知识
【实例7-2-1】 测试“/etc/passwd”文件是否为目录。
6
[root@localhost ~]# [ -d /etc/passwd ]
# 显示上一条命令执行后的返回值
[root@localhost ~]# echo $?
1
以上执行结果返回1(非0),表示“/etc/passwd”文件不是目录。
2.逻辑测试语句
逻辑测试语句用于对条件表达式的值进行逻辑分析。常用的逻辑测试运算符及其含义如表7-2-3所示。
✈【教师】通过多媒体展示“常用的逻辑测试运算符及其含义”表格,介绍相关知识
表7-2-3 常用的逻辑测试运算符及其含义
运 算 符 含 义
当“&&”前面的条件表达式为真时才会执行后面的表&&(逻辑“与”)
达式。两个条件表达式的值同时为真,则返回真;否则为假
当“||”前面的条件表达式为假时才会执行后面的表达||(逻辑“或”)
式。两个条件表达式的值同时为假,则返回假;否则为真
!(逻辑“非”)
将条件表达式的值取反,即如果之前为真,则将其变为假;之前为假,则将其变为真
【实例7-2-2】 逻辑测试语句的应用。
# 测试“/scripts/”文件是否存在,若存在则输出“exist”
[root@localhost ~]# [ -e /scripts/ ] && echo "exist"
exist
# 测试“/scripts/”文件是否存在,若不存在则输出“not exist”
[root@localhost ~]# [ -e /scripts/ ] || echo "not exist"
not exist
# 使用系统环境变量USER查看当前登录的用户
[root@localhost ~]# echo $USER
root
# 测试当前用户是否为root用户
[root@localhost ~]# [ ! $USER = root ] || echo "administrator"
administrator
【高手点拨】
逻辑“非”运算符“!”应放到条件表达式的前面,表示对整个条件表达式的值进行取反操作。例如,条件表达式“[ ! $USER = root ]”不能写为“[ $USER != root ]”,因为“!=”表示不等于,尽管执行效果一样,但缺少了逻辑关系。
3.整数比较语句
整数比较语句仅是对数字的操作。常用的整数比较运算符及其含义如表7-2-4所示。
✈【教师】通过多媒体展示“常用的整数比较运算符及其含义”表格,介绍相关知识
表7-2-4 常用的整数比较运算符及其含义
运 算 符
-eq
含 义
是否等于
运 算 符
-lt
含 义
是否小于
7
-ne
-gt
是否不等于
是否大于
-ge
-le
是否大于等于
是否小于等于
【实例7-2-3】 整数比较语句的应用。
[root@localhost ~]# [ 100 -ge 88 ]
[root@localhost ~]# echo $?
0
[root@localhost ~]# num=512
[root@localhost ~]# [ $num -lt 1024 ] && echo "小于"
小于
【提示】
整数比较语句不能将数字与字符串、文件等一起操作。
4.字符串比较语句
字符串比较语句用于测试字符串是否为空,或两个字符串是否相同。常用的字符串比较运算符及其含义如表7-2-5所示。
✈【教师】通过多媒体展示“常用的字符串比较运算符及其含义”表格,介绍相关知识
表7-2-5 常用的字符串比较运算符及其含义
运 算 符
=
!=
否相同
测试字符串内容是否不同
含 义
测试字符串内容是运 算 符
-z
-n
为空
测试字符串内容是否不为空
含 义
测试字符串内容是否【实例7-2-4】 字符串比较语句的应用。
[root@localhost ~]# [ -z $String ] && echo "该变量为空,未定义"
该变量为空,未定义
二、if语句
if语句是条件判断语句,使用if语句可以根据某些条件执行指定的命令。if语句可分为单分支if语句、双分支if语句和多分支if语句。
1.单分支if语句
单分支if语句由if、then和fi关键词组成,其语法格式如下。
if 条件表达式
then 命令列表
fi
以上语句的执行过程是,先判断条件表达式的值,如果它为真,则执行then之后的命令列表;否则结束退出。
【实例7-2-5】 单分支if语句的应用。
【参考代码】
[root@localhost ~]# vim /scripts/
#!/bin/bash
8
File="/scripts/"
if [ ! -e $File ]
# 定义变量
# 判断“/scripts/”文件是否存在
# 如果不存在,则创建 then touch $File
fi
【执行结果】
[root@localhost ~]# bash /scripts/
# 查看“/scripts/”文件是否创建成功
[root@localhost ~]# ls -l /scripts
总用量 8
-rwxr--r--. 1 root root 23 12月 1 17:12
-rw-r--r--. 1 root root 0 12月 1 17:40
-rw-r--r--. 1 root root 191 12月 1 17:40
【脚本分析】 由于“/scripts/”文件不存在,则对其取反之后变为存在,此时if条件表达式的值为真,则执行then之后的命令,即使用touch命令创建“/scripts/”文件。
2.双分支if语句
双分支if语句由if、then、else和fi关键词组成,其语法格式如下。
if 条件表达式
then 命令列表
else 命令列表
fi
以上语句的执行过程是,先判断条件表达式的值,如果它为真,则执行then之后的命令列表;否则执行else之后的命令列表。
【实例7-2-6】 双分支if语句的应用。
【参考代码】
[root@localhost ~]# vim /scripts/
#!/bin/bash
File="/scripts/" # 定义变量
# 判断“/scripts/”文件是否存在
if [ ! -e $File ]
then touch $File
# 如果不存在,则创建
# 如果存在,则赋予其可执行权限 else chmod u+x $File
fi
【执行结果】
[root@localhost ~]# bash /scripts/
# 查看“/scripts/”文件是否具有可执行权限
[root@localhost ~]# ls -l /scripts/
-rwxr--r--. 1 root root 0 12月 1 17:40 /scripts/
【脚本分析】 由于“/scripts/”文件已经存在,则对其取反之后变为不存在,此时if条件表达式的值为假,则执行else之后的命令,即使用chmod命令赋予“/scripts/”文件可执行权限。
3.多分支if语句
多分支if语句由if、then、elif、else和fi关键词组成,其语法格式如下。
if 条件表达式1
then 命令列表1
elif 条件表达式2
then 命令列表2
9
……
else
命令列表n
fi
以上语句的执行过程是,先判断条件表达式1的值,如果它为真,则执行命令列表1;否则,判断条件表达式2的值,如果它为真,则执行命令列表2;依次类推,如果条件表达式的值都为假,则执行命令列表n。
【实例7-2-7】 多分支if语句的应用。
【参考代码】
[root@localhost ~]# vim /scripts/
#!/bin/bash
read -p "请输入成绩:" score
if [ $score -ge 90 ]
# 如果score大于等于90,输出“优”
then echo "优"
# 如果score大于等于80,输出“良” elif [ $score -ge 80 ]
then echo "良"
elif [ $score -ge 70 ]
then echo "中"
elif [ $score -ge 60 ]
then echo "及格"
else
# 如果score大于等于70,输出“中”
# 如果score大于等于60,输出“及格”
# 如果score小于60,输出“不及格”
echo "不及格"
fi
【执行结果】
[root@localhost ~]# bash /scripts/
请输入成绩:80
良
[root@localhost ~]# bash /scripts/
请输入成绩:55
不及格
【脚本分析】 使用read命令的“-p”选项从键盘输入成绩“score”的值,然后对其进行判断。因为80小于90,所以if条件表达式的值为假,继续判断。又因为80大于等于80,所以第一个elif条件表达式的值为真,则输出“良”。由于输入55时,所有条件表达式的值都为假,故执行else之后的命令,即输出“不及格”。
【知识库】
if语句是可嵌套的,也就是说,一个if语句可在其中包含另一个if语句。关键词fi标志着if语句的结束,应与if成对使用。
三、case语句
case语句是多分支条件判断语句,由case、in和esac关键词组成,其语法格式如下。
case 变量值 in
模式字符串1)
10
命令
……
命令;;
……
模式字符串n)
命令
……
命令;;
*)
命令
……
命令;;
esac
case语句的执行过程是,用给定变量值依次与各模式字符串进行比较,如果与某一个模式字符串匹配,那么就执行该模式字符串之后的命令,直至遇到两个分号为止。如果给定变量值与所有模式字符串都不匹配,则执行“*)”之后的命令。
【小技巧】
在大多数情况下,如果存在很多条件,则可以使用case语句代替if语句。
【实例7-2-8】 根据指定省份输出省会。
【参考代码】
[root@localhost ~]# vim /scripts/
#!/bin/bash
case $1 in
guangdong)
*)
henan)
hubei)
# 如果变量值是“guangdong”,输出“guangzhou”
# 如果变量值是“henan”,输出“zhengzhou”
# 如果变量值是“hubei”,输出“wuhan”
# 如果变量值是其他字符串,输出“error”
echo "guangzhou";;
echo "zhengzhou";;
echo "wuhan";;
echo "error";;
esac
【执行结果】
[root@localhost ~]# bash /scripts/ hubei
Wuhan
[root@localhost ~]# bash /scripts/ shan
error
【脚本分析】 第一次执行该脚本时变量值是“hubei”,它与模式字符串“hubei”匹配,则执行该模式字符串之后的命令,输出“wuhan”。第二次执行该脚本时变量值是“shan”,它与所有模式字符串都不匹配,则执行“*)”之后的命令,输出“error”。
在使用case语句时应注意以下两个方面。
(1)模式字符串中可使用正则表达式。
【实例7-2-9】 从键盘输入一个字符,然后判断该字符是字母、数字还是其他字符,并输出相应的提示信息。
11
【参考代码】
[root@localhost ~]# vim /scripts/
#!/bin/bash
read -p "请输入一个字符:" KEY
case $KEY in
[a-z]|[A-Z])
# 如果输入一个字母,输出“输入的是字母”
echo "输入的是字母";;
# 如果输入一个数字,输出“输入的是数 [0-9])
字”
*)
esac
echo "输入的是数字";;
# 如果输入的既不是字母也不是数字
echo "输入的是其他字符" # 输出“输入的是其他字符”
echo "可能是空格、功能键等";; # 输出“可能是空格、功能键等”
【执行结果】
[root@localhost ~]# bash /scripts/
请输入一个字符:3
输入的是数字
[root@localhost ~]# bash /scripts/
请输入一个字符:s
输入的是字母
[root@localhost ~]# bash /scripts/
请输入一个字符:~
输入的是其他字符
可能是空格、功能键等
【脚本分析】 第一次执行该脚本时从键盘输入数字3,它与模式字符串“[0-9]”匹配,则执行该模式字符串之后的命令,输出“输入的是数字”。第二次执行该脚本时从键盘输入字母“s”,它与模式字符串“[a-z]|[A-Z]”匹配,则执行该模式字符串之后的命令,输出“输入的是字母”。第三次执行该脚本时从键盘输入字符“~”,它与所有模式字符串都不匹配,则执行“*)”之后的命令,输出“输入的是其他字符”“可能是空格、功能键等”。
(2)如果一个模式字符串中包含多个模式,那么各模式之间须用竖线(|)隔开(如实例7-2-9中的“[a-z]|[A-Z]”),表示各模式之间是“或”的关系,即只要给定变量值与其中一个模式匹配,就会执行该模式字符串之后的命令。
【实例7-2-10】 在case语句中“或”的应用。
【参考代码】
[root@localhost ~]# vim /scripts/
#!/bin/bash
case $1 in
start|begin) # 如果变量值是“start”或“begin”,输出“start Internet”
echo "start Internet";;
# 如果变量值是“stop”或“end”,输出“stop Internet”
# 如果变量值是其他字符串,输出“Ignorant”
echo "stop Internet";;
echo "Ignorant";;
stop|end)
*)
12
esac
【执行结果】
[root@localhost ~]# bash /scripts/ begin
start Internet
【脚本分析】 执行该脚本时变量值是“begin”,它与模式字符串“start | begin”中的“begin”模式匹配,则执行该模式字符串之后的命令,输出“start Internet”。
【学生】聆听、思考、理解、记录
【教师】组织学生以小组为单位讨论以下问题:
问题1:在shell脚本中,逻辑测试语句用分别用哪个符号表示“并且”和表示“或者”。
课堂讨论
(10 min)
问题2:如果需要依据用户的输入参数执行不同的操作,最方便的条件测试语句是什么?
问题3:shell条件分支语句有哪些?简述它们各自的优点。
【学生】聆听、思考、小组讨论,由小组代表上台发表讨论结果
【教师】与学生一起评价各组的发言,并进行总结
【教师】演示使用条件判断语句的方法,然后让学生以小组为单位进行实际操作
步骤 1 登录Linux操作系统打开命令行终端,执行以下命令创建shell脚本“Mem_”。
步骤2 打开“Mem_”文件按“i”键后输入以下内容,然后保存文件并退出Vim。
步骤3 执行以下命令执行shell脚本“Mem_”。
……(详见教材)
【学生】按照要求进行操作,如遇问题可自行扫码观看“使用条件判断语句”视频,或者询问老师
【教师】巡堂辅导,及时解决学生遇到的问题,根据学生的表现完成任务评价
表7-2-1 任务评价
课堂实践
(15 min)
评价分数
项目名称
职业素养考核项目(30%)
专业能力考核项目(70%)
评价内容
分值 自评 互评
考勤、仪容仪表
安全意识、责任意识
团队合作与交流
积极参与教学活动
正确理解任务要求,并查找任务所需资料,参与讨论
任务实施过程记录的完成度
条件测试语句和分支结构的理解度
10分
10分
10分
10分
15分
15分
10分
师评
通过具体实践,让学生将所学知识与实践相结合,培养学生的实操能力
通过课堂讨论,巩固所学知识,加深学生对条件判断语句的理解
13
使用条件判断语句编写shell脚本的熟练度
20分
合计:综合分数 自评(20%)+互评(20%)100分
+师评(60%)
综合评语
教师(签字):
总结知识点,【教师】简要总结本节课的要点
本节课学习了shell脚本基础知识、创建和执行shell脚本、shell变量、条件测试课堂小结
(3 min)
语句、if语句和case语句等知识。希望大家在课下多加练习,巩固所学知识,能根据实际需要编写简单的shell脚本。
【学生】总结回顾知识点
巩固学生对shell脚本基础知识、创建和执行shell脚本、shell变量、条件测试语句、if语句和case语句相关知识的印象
【教师】布置课后作业
1、按步骤完成下面的操作:
步骤1:使用Vim创建shell脚本“”。
步骤2:编写shell脚本“”实现以下功能:从命令行输入用户名参数,为用户重置一个8位随机密码(提示:产生8位随机密码使用命令“openssl rand -base64
6”,该命令须用反引号“`”括起来),并将8位随机密码保存到“/project/private”目录下各成员的私有目录中,文件名为“”。
步骤3:执行shell脚本“”,为用户Cary重置密码。
作业布置
(2 min)
步骤4:查看用户Cary密码文件“”的内容。
2、按步骤完成下面的操作:
步骤1:使用Vim创建shell脚本“”。
步骤2:编写shell脚本“”实现以下功能:若“/project/temp/bak”目录不存在,则新建该目录,然后将“/project/public”目录打包后移动到“/project/tmp/bak”目录中。
步骤3:添加周期性计划任务,每周五的23点50分执行shell脚本“”。
步骤4:查看当前周期性计划任务。
【学生】完成课后任务
本节课效果不错,每个学生都积极参与到教学活动中,发挥了自己的价值。教学中应注意分析学生教学反思 的特点,根据不同学生的学习情况采用灵活多样的教学方法,极力营造一种平等和谐、活跃有序的课堂氛围
通过课后作业复习巩固学到的知识,提高实际操作能力
14
版权声明:本文标题:《Linux操作系统与应用技术》教案 第14课 shell简易编程(一) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1704660606a102042.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论