《LINUX管理与应用》课程实验报告
≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡
实验内容和目的
实验目的:
理解Shell程序的设计方法;熟悉Shell程序编辑、运行、调试方法与过程。
实验内容:
(1)Shell 简单编程
用户名回显程序;if-then、if-then-else语句使用;for语句、while语句使用
(2)较复杂的考勤模拟shell程序设计
实验环境
微机、WINDOWS XP、QUICK LINUX、VMWARE虚拟机软件
实验重点及难点
实验重点:SHELL编辑、运行过程;SHELL变量的使用,分支语句的设计,循环语句的设计
实验难点:SHELL语句的使用方法
实验过程(实验过程、实验结果及实验分析)
一、实验过程
1. 编写一个简单的回显用户名的shell程序
2. 使用if-then语句创建简单的shell程序
3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序
4. 使用for语句创建简单的shell程序
5. 使用while语句创建一个计算1-5的平方的shell程序
6. 用shell设计一个模拟考勤程序
二、实验结果
1.编写一个简单的回显用户名的shell程序
#vi dat
#!/bin/bash
#filename:dat
echo "Mr.$USER,Today is:"
echo `date`
echo Wish you a lucky day!
#chmod +x dat
#./dat
2. 使用if-then语句创建简单的shell程序
#vi bbbb
#!/bin/bash
#filename:bbbb
echo -n "Do you want to continue: Y or N"
read ANSWER
if [ $ANSWER = N -o $ANSWER = n ]
then
echo "your answer is quit! "
fi
#chmod +x bbbb
#./bbbb
3. 使用if-then-else语句创建一个根据输入的分数判断是否及格的shell程序
#vi ak
#!/bin/bash
#filename:ak
echo -n "please input a score:"
read SCORE
echo "You input Score is $SCORE"
if [ $SCORE -ge 60 ];
then
echo -n "Congratulation!You Pass the examination."
else
echo -n "Sorry!You Fail the examination!"
fi
echo -n "press any key to continue!"
read $GOOUT
#chmod +x ak
#./ak
4. 使用for语句创建简单的shell程序
#vi mm
#!/bin/bash
#filename:mm
for ab in 1 2 3 4
do
echo $ab
done
#chmod +x mm
#./mm
5. 使用while语句创建一个计算1-5的平方的shell程序
#vi zx
#!/bin/bash
#filename:zx
int=1
while [ $int -le 5 ]
do
sq=`expr $int \* $int`
echo $sq
int=`expr $int + 1`
done
echo "Job completed"
#chmod +x zx
#./zx
6. 用shell设计一个模拟考勤程序,实现如下功能选择界面:
1:上班签到2:下班签出3:缺勤信息查阅
# vi testshell
#! /bin/bash
#filename:shelltest
exsig=0
while true; do
echo ""
echo "----欢迎使用本系统----"
echo " 1. 上班签到"
echo " 2. 下班签出"
echo " 3. 考勤信息查询"
echo " 4. 退出系统"
echo "----------------------"
echo ""
echo "请输入你的选项:"
read choice
case $choice in
1)echo "请输入你的名字:"
read name
echo "请输入你的密码:"
read password
if test -r /home/user/userinfo.dat
then
while read fname fpassword
do
echo "$fname"
echo "$fpassword"
if test "$fname" = "$name"
then
break
fi
done < /home/user/userinfo.dat
else
echo System Error:userinfo.dat does not exist!
fi
if test "$fname" != "$name"
then
echo "不存在该用户!"
elif test "$fpassword" != "$password"
then
echo "密码不正确!"
else
hour=`date +%H`
if test "$hour" -gt 8
then
echo "你迟到了!"
echo "$name 上班迟到---日期:`date`" >>/home/user/check.dat
else
echo "早上好,$name!"
fi
fi
;;
2)echo "请输入你的名字:"
read name
echo "请输入你的密码:"
read password
if test -r /home/user/userinfo.dat
then
while read fname fpassword
do
if test "$fname" = "$name"
then
break
fi
done < /home/user/userinfo.dat
else
echo System Error:userinfo.dat does not exist!
fi
if test "$fname" != "$name"
then
echo " 不存在该用户!"
elif test "$fpassword" != "$password"
then
echo "密码不正确!"
else
hour=`date +%H`
if test "$hour" -lt 18
then
echo "你早退了!"
echo "$name 下班早退----日期:`date`">> /home/user/check.dat
else
echo "再见,$name!"
fi
fi
;;
3)echo "请输入你的名字:"
read name
echo "请输入你的密码:"
read password
if test -r /home/user/userinfo.dat
then
while read fname fpassword
do
if test "$fname" = "$name"
then
break
fi
done < /home/user/userinfo.dat
else
echo System Error:userinfo.dat does not exist!
fi
if test "$fname" != "$name"
then
echo "不存在该用户!"
elif test "$fpassword" != "$password"
then
echo "密码不正确!"
else
echo "你的记录:"
echo "---------"
cat -b /home/user/check.dat|grep $name
echo "---------"
fi
;;
4)echo "欢迎你的使用,再见!"
exsig=1
;;
*)echo "请输入合法的选项!"
;;
esac
if test "$exsig" = "1"
then
break
fi
done
七.试验运行结果:
#chmod +x testshell
#./testshell
3、 实验分析
通过这次实验,我懂得了定义SHELL程序设计中的变量,掌握了SHELL程序中LINUX基本命令的使用,理解了Shell程序的设计方法,并且熟悉了Shell程序编辑、运行、调试方法与过程。这为我日后继续深入学习Linux课程打下基础。
展开阅读全文