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

本文标签: 语句脚本执行