一.前言
今天,又要使用我的大学技能—写实验报告。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 oldUsertouch oldFilemkdir oldDir1 oldDir2touch oldDir2/oldFile2
测试:如果是正确,则通过,否则不通过。
三.实现效果图
1)测评创建新用户t1
点击测评,成功后:
2)测评以t1用户身份登录。
点击测评,成功后:
3)测评文件夹创建和文件创建
点击测评,成功后:
四.代码
1)测评创建新用户t1
用户文件code1.sh
#!/bin/bash#在以下部分写出完成任务的命令#***********begin*************##************end**************#
测评文件evaluating1.sh
#!/bin/bashsh 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" ]; thenecho "创建t1用户成功"elseecho "创建用户t1失败"fiuserdel -r t1 2> /dev/null
2)测评以t1用户身份登录。
用户文件code2.sh
#!/bin/bash#在以下部分写出完成任务的命令#***********begin*************##************end**************#
测评文件evaluating2.sh
#!/bin/bashsh code2.sh 2> /dev/null 2> result.txt#执行code.sh,如果有误,则错误重定向到result.tXt文件testWhoami=`cat result.txt`if [ $testWhoami = "t1" ]; thenecho "t1用户登录成功"elseecho "t1用户登录成功失败"fiuserdel -r t1 2> /dev/null
3)测评文件夹创建和文件创建
用户文件code3.sh
#!/bin/bash#在以下部分写出完成任务的命令#***********begin*************##************end**************#
测评文件evaluating3.sh
#!/bin/bashuseradd oldUsertouch oldFilemkdir oldDir1 oldDir2touch oldDir2/oldFile2sh 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 ]; thenecho "设置oldFile文件所有者成功"if [ $oldDir1 = oldUser ]; thenecho "设置oldDir1目录所有者成功"if [ $oldFile2 = oldUser ]; thenecho "设置oldDir2目录所有者成功"elseecho "设置oldDir2目录所有者失败"fielseecho "设置oldDir1目录所有者失败"fielseecho "设置oldFile文件所有者失败"fiuserdel oldUserrm -rf oldDir*rm -fr oldFile