LINUX-shell程序编程实验报告

  • 格式:docx
  • 大小:15.91 KB
  • 文档页数:8

LINUX实验报告

专 业

班 级

学 号

姓 名

报告时间:实验一 Shell 编程

一.实验名称:

考勤模拟 shell 程序设计

二.实验目的:

理解Shell程序的设计方法;熟悉ShelI程序的编辑、运行、调试 方法与过程。

三.实验内容:

考勤模拟Shell程序设计

用 shell 设计一个模拟考勤程序,实现如下功能选择界面:

1:上班签到

2:下班签出

3:缺勤信息查阅

考勤程序运行后, 提示用户输入上述功能选择, 并验证用户输入 的用户名和密码;用户信息保存在中。

如果是上班签到,记录签到信息,如果签到时间大于上午 8 时,

则提示用户迟到,并记录该迟到信息到中。

如果是下班签出,记录签出信息,如果签出时间小于下午 6 时,

则提示用户早退,并记录该早退信息到。

如果用户选择确信信息查询, 则将中对应的用户迟到早退的信息 查询出来并显示。

用户选择功能执行完, Shell 程序继续回到功能选择界面等待下 一个用户进行操作。

四.实验要求:

1、掌握 Shell 程序的编辑、运行、调试方法

2、完成实验内容要求是现的功能

3、撰写实验报告

五.试验运行代码:#族勤信息查问

3)echo ”请输入您的名字:"

read name

echo ”请输入您的密码:”

read password

#用户密码驶证

if test -r /home/user/userinfo.dat #如異use「info.dat文件存在且可读 then

while read fname fpassword

do

if test M$fnainew - "Sname11

then

if test '^pas-s-v/ord11 = '^password"

then

break

fi

done < /home/user/userinfo.dat

else

echo System Error: userinfq.dat does not exist!

fi

if test ''Sfname11 != H$nameH

then

echo ”不存在该用户”

elif test ”Sfpassword” != '^password11

then

echo ”毘码不正确”

else

echo ”您的记录;“

echo " .............. 11

cat ・b /home/user/check.dat | grep $name

echo " ------------ 11

fi;;

#非法输入

echo ”清输入合法的远项!”

esac ^!/bin/sneii

while true; do

#屏幕显示提示信息

echo ,,w

echo H----欢迎使用本系统

echo H 1、上班签到”

echo M 2、下班签出”

echo H 3、考助信息査阅

echo "・— ........................... ••”

echo 11M

echo ”请输入您的选项:”

新灵入选项

read choice

case $chaice in

#上班签到

1) echo "请输入您旳名字:”

read name

echo ”请输入您的密码:”

read password

#用户密码验证

if test -r /home/user/userinfo.dat 育如果userinfo.dat^件存在且可谅 then

while read fname fpassword

do

if test "$fname" = M$name"

then

if test M$pas sword" = K$p as sword11

then

break

fi

fi

done < /home/user/userinfo.dat

else

echo System Error: userinfo.dat does not exist!

if test ,,$fnameM != ''Sname"

then

echo '•不存在该用卢”

el if test HSf password" !=峙password" then

echo "密码不正确"

else

hour=xdate

if test "ShourM -gt 8

then

echo ”您迟到了 ! 11echo "Sname 上班迟劃 …日期: date " » Zhome/user/check.dat else

echo "早■上好\ $name!M

fi

fi;;

#下班签出

2) echo read

echo read

#用户巒码验证

i'f test -r /home/hp/userinlo.dat #如果userinfo.dat^件存在且可读 then

while read fname fpassword

do

if test "Jfname* = ■$nameB then

if test "{password" ■ "tpassword"

then

break fi fi

done < /home/user/userinfo^dat else

echo' "£ystem Error: userinfo, dat does not exist!" fi

11 test "$fname,r != "$name" then

echo “不存户“

Elif test "sfpassword" != "Spassword* then

echo “应码不正确・ else

hour= date 十%H

test "JhQur" -Lt 1&

then

echo

echo

else

echo

fi

畑動信息査阅

3) echo M4ttA您的名宇£ -

6、试验运行结果:“请输入您的名宇;

name

"请输入您的密码:”

pass讨。「d

■'您早退了 ! “

"iname 下班早退 一•曰期;"date » ZhQme/user/check, dat

"再见,Sname !" …••欢迎使用本系统・・・•

1、 上班签到

2、 下班签出

3、 考勤信息查阅

请输入您的选项:

1

请输入您的名宇;

dengxiaowen

请输入您的密码:

123

您迟到了 !

••…欢迎使用本系统••…

1、 上班签到

2、 下班签出

3、 考勤信息弯阅

请输入您的选项:

2

请输入您的名字:

dengxiaowen

请输入您的密码:

123

再 见• dengxiaowen!

••…欢迎使用本系统••…

1、 上班签到 2、 下班签出

3、 考勤信息查阅

请谕入您的选项:

3

请输入您的名字: dengxiaowen 请输入您的密码:

123

您的记录:

1 dengxiaowen上班迟到•八日期:2016年月

••••欢迎使用本系统••…

1、 上班签到 2、 下班签出

3、 考勤信息查阅

请输入您的选项:140 星期四 20:47:20 CST 六.实验心得

学到了一些有关 linux 的知识,还亲自参加了 linux 的安装 party, 这些都让我对产生 了了解和掌握 linux 的愿望。在这方面,我只是个初学者,我希望跟我一样抱着学习 linux 的心态但不知如何学习这方面技术而感到无从下手的初学者在看了这篇文章后, 能够找到深 入了解 linux 的方向和办法。

以下就是学习 linux 的一个循序渐进的过程

一.起步

你应该为自己创造一个学习 linux 的环境 --在电脑上装一个 linux 或 unix

北美用redhat,欧洲用SuSE桌面mandrake较多,而debian是技术最先进的linux开发 人员中用 debian 的最多,其次是 redhat, 从全球 linux 各应用领域市场份额来看无疑 redhat 是最多的

它易于使用和安装, 我们没有必要把时间浪费在 “装系统” 上而应集中精力学习最有 用的东西。

我强烈建议:自己亲自动手把linux装到你的硬盘上,你必须学会独立安装linux系统 的技能,对于现在的版本来说,其实跟装 WinXP 一样简单

二.进阶

理解 shell 管道 "|", 文件流重定向 ">"及追加 ">>"等

熟悉 Gnome/KDE 等 X-windows 桌面环境操作

掌握 .等软件包的常用安装方法

学习添加外设,安装设备驱动程序(比如 modem)

熟悉 Grub/Lilo 引导器及简单的修复操作计算机 |外语|培训|资料| 视频|课件|下载 |s}zHS5p

熟悉系统固有目录的名称及公用学会用 mount 命令访问其他文件系统了解 vi,gcc,gdb

等常用编辑器,编译器,调试器学习 linux环境下的简单组网