一.前言

今天,又要使用我的大学技能—写实验报告。linux操作系统课程实验课到了尾声,这是最后一次linux操作系统实验报告,我喜极而泣。
行了,废话不多说,我直接开始肝!!本实验是基于基于头歌实践教学平台的,也就是老师创建的平台,我们学生自己做,然后测试。大家看看shell脚本就行,估计模拟不出来。

二.内容

1)测评创建新用户t1

创建新用户t1,平台测评新用户是否已经创建成功。编辑学员任务文件code.sh和测评代码evaluating.sh(备注:路径请小组自行指定,代码名称不一定完全一致)
学员输入:useradd t1
测试:如果用户创建用户t1成功,输出“创建用户t1成功”。否则输出“创建用户t1失败”。

2)测评以t1用户身份登录。
学员输入:su -c whoami t1
测试:如果用户以t1用户身份登录成功,输出“t1用户登录成功”。否则输出“t1用户登录失败”。

3)测评文件夹创建和文件创建
学员输入:

useradd oldUser
touch oldFile
mkdir oldDir1 oldDir2
touch oldDir2/oldFile2

测试:如果是正确,则通过,否则不通过。

三.实现效果图

1)测评创建新用户t1

点击测评,成功后:

2)测评以t1用户身份登录。

点击测评,成功后:

3)测评文件夹创建和文件创建

点击测评,成功后:

四.代码

1)测评创建新用户t1

用户文件code1.sh

#!/bin/bash

#在以下部分写出完成任务的命令
#***********begin*************#

#************end**************#

测评文件evaluating1.sh

#!/bin/bash

sh code.sh 2> result.txt 2> /dev/null
#执行code.sh,如果有误,则错误重定向到result.tXt文件
testNewName=`tail -n 1 /etc/passwd | cut -d ":" -f 1`
testPwd=`cat result.txt`

if [ $testNewName = "t1" ]; then
	echo "创建t1用户成功"
		
	
else
	echo "创建用户t1失败"
fi

userdel -r t1 2> /dev/null

2)测评以t1用户身份登录。

用户文件code2.sh

#!/bin/bash

#在以下部分写出完成任务的命令
#***********begin*************#

#************end**************#

测评文件evaluating2.sh

#!/bin/bash
sh code2.sh  2> /dev/null 2> result.txt
#执行code.sh,如果有误,则错误重定向到result.tXt文件
testWhoami=`cat result.txt`
if [ $testWhoami = "t1" ]; then
    echo "t1用户登录成功"
else
    echo "t1用户登录成功失败"
fi
userdel -r t1 2> /dev/null

3)测评文件夹创建和文件创建
用户文件code3.sh

#!/bin/bash

#在以下部分写出完成任务的命令
#***********begin*************#

#************end**************#

测评文件evaluating3.sh

#!/bin/bash

useradd oldUser
touch oldFile
mkdir oldDir1 oldDir2
touch oldDir2/oldFile2

sh code3.sh 2> result.txt 2> /dev/null
#执行code.sh,如果有误,则错误重定向到result.tXt文件
oldFile=`ls -l | grep oldFile | cut -d " " -f 3`
oldDir1=`ls -l | grep oldDir1 | cut -d " " -f 3`
oldDir2=`ls -l | grep oldDir2 | cut -d " " -f 3`
oldFile2=`ls -l oldDir2/oldFile2 | cut -d " " -f 3`

if [ $oldFile = oldUser ]; then
	echo "设置oldFile文件所有者成功"
	if [ $oldDir1 = oldUser ]; then
		echo "设置oldDir1目录所有者成功"
		if [ $oldFile2 = oldUser ]; then
			echo "设置oldDir2目录所有者成功"
		else
			echo "设置oldDir2目录所有者失败"
		fi
	else
		echo "设置oldDir1目录所有者失败"
	fi
else
	echo "设置oldFile文件所有者失败"
fi

userdel oldUser
rm -rf oldDir*
rm -fr oldFile

更多推荐

linux操作系统中的shell编程----基于头歌实践教学编写shell脚本测试结果