| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

shell编程用户信息管理(模拟)课程设计说明书

文***品

贡献于2023-05-23

字数:7333


数学计算机学院

Linux操作系统
课程设计说明书


题 目: shell编程户信息理(模拟)
专 业:
班 级:
学 号:
姓 名:
指导老师:

2012年 X  月  X 日




课程设计目
掌握linux操作系统中shell脚编程技术中:变量定义变量循环控制结构条件选择结构户交互文件读写文容分析linux重命令等验证学生shell脚编程掌握情况求学生够利shell脚编程实现较基功
Linux作户务操作系统系统资源户享户理操作系统重点LINUX课程设计shell编程实现理学付诸实践设计脚(shell)程序实现增加删查找显示特定户信息功
二课程设计容
Shell脚文件里(必须 menu 命名)操作选项菜单便户中选择务中操作动实现功:
1) 屏幕显示前户记录
2) 屏幕显示前户(格式化排序)记录
3) 屏幕显示户名户ID
4) 屏幕显示(格式化排序)户名户ID
5) 查询显示特定户记录
6) passwd文件里增加新户记录
7) passwd文件里删某户记录
目录四文件分menupasswdadddelete中 menu文件中程序完成12345功外写add脚文件delete脚文件分实现选项67户做选择选操作完成次显示菜单供户做步选择while循环case条件语句配合完成操作
三课程设计基原理功
1功图

显示前户记录
显示前户格式化记录

显示户名户ID
显示格式化户名户ID
查找指定户信息
添加户信息
删户信息
户信息菜单

2流程图
221菜单

222 add模块


223 delete模块

四设计步骤
1编写menuadddeleteshell脚passwd文件
(menu add delete 文件网载改动少许符合设计求)
2目录添加四文件分menushpasswdaddshdeletesh090510221空文件夹作新建户目录
直接whpuser新建指令添加:
vi menush
vi addsh
vi deletesh
vi passwd
3执行menush脚
增加权限
chmod +x menush
menush
执行效果截图:

4输入错误截图:

5选择菜单1时显示结果图示:

6选择菜单2时显示结果图示:
7选择菜单3时显示结果图示:

8选择菜单4时显示结果图示:

9选择菜单5输入需查询户名时显示结果图示:

10选择菜单6显示结果图示:

完成添加户调菜单2够新添加户mycount信息条目

11选择菜单7通户ID删户显示结果图示:

完成删户调菜单2够新添加户mycount信息条目

五源代码
1menu脚框架
# binbash
#声明全局变量
dataSource'passwd'
homePath''
addUsersaddsh
deleteUsersdeletesh
CheckDataSourceFileExist()
{
if [ f dataSource ]
then
#文件存
return 0
else
#文件存
clear
echo n 警告 dataSource 存请确认
read
return 1
fi
}
choiceF
while [ choice Q a choice q ]
do
CheckDataSourceFileExist
if [ ne 1 ]
then
clear
echo 户信息理菜单
echo
echo 1显示前记录
echo 2格式化显示前记录
echo 3显示户名户ID
echo 4格式化显示户名ID
echo 5查询特定户信息
echo 6添加新户
echo 7删户
echo Q退出
echo n 选择
read choice
#作清readstringEmpty时候引发bash参数错误
if [ z choice ]
then
choiceempty
fi
clear
if [ choice empty ]
then
echo 选项尚未选择
else
case choice in
1) CheckDataSourceFileExist
if [ ne 1 ]
then
echo 前户信息示
echo 户名 密码 ID GID 说明 工作目录 登录Shell
cat dataSource | tr | more
fi
2) CheckDataSourceFileExist
if [ ne 1 ]
then
echo 前户信息示
echo e 户名\t密码\tID\tGID\t说明\t工作目录\t登录Shell
sort k 1 dataSource | awk F '{print 1 \t 2 \t 3 \t 4 \t 5 \t 6 \t 7 \t}' | more
fi
3) CheckDataSourceFileExist
if [ ne 1 ]
then
echo 前户户名户ID示
echo e 户名ID
awk F '{print 1 3}' dataSource | more
fi
4) CheckDataSourceFileExist
if [ ne 1 ]
then
echo 前户户名户ID示
echo e 户名 \t ID
awk F '{print 1 \t 3}' dataSource | more
fi
5) CheckDataSourceFileExist
if [ ne 1 ]
then
keyWords
while [ z keyWords ]
do
echo n 输入搜索关键词
read keyWords
if [ z keyWords ]
then
echo 搜索关键词空请重新输入
fi
done
CheckDataSourceFileExist
if [ ne 1 ]
then
grep i keyWords dataSource
if [ eq 1 ]
then
echo 遗憾dataSource文件中存 keyWords 致信息
fi
fi
fi
6) addUsers
7) deleteUsers
Q) printf 程序已退出
q) printf 程序已退出
*) echo choice :选项默认提供功请确认
esac
fi
echo n 确认??
read
fi
done
2add脚编
该脚实现户交互式添加户信息包括需添加户:户名户密码户ID组ID全名户家目录登录shell类型项信息需进行单独读取必验证
clear
isContinuey
userName
while [ isContinue y o isContinue Y ]
do
#户名处理输入致字符串长度0止
userName
while [ z userName ]
do
echo n 户名
read userName
if [ z userName ]
then
echo 错误户名空请重新输入
continue
fi
if [ `expr match userName [azAZ][09azAZ]*` ne `expr length userName` ]
then
echo 错误户名非数字头字符数字组成请重新输入
userName
continue
fi
done
#密码处理:1验空3密码长度6位写字母数字控制字符组成2验两次输入致性
passWord
passWordAgain
while [ z passWord ]
do
echo n 密码
read passWord
if [ z passWord ]
then
echo 错误密码空请重新输入
continue
fi
if [ `expr length passWord` ne 6 ]
then
echo 密码长度6位请重新输入
passWord
continue
fi
if [ `expr match passWord [09azAZ]*` ne `expr length passWord` ]
then
echo 密码写字母数字控制字符组成请重新输入
passWord
continue
fi
echo n 请输入次密码:
read passWordAgain
if [ passWordAgain passWord ]
then
echo 两次输入密码样请重新输入
passWord
continue
fi
done
#户UID输入处理UID数字般非超级户ID等500
uID
while [ z uID ]
do
echo n 户UID
read uID
if [ z uID ]
then
echo 错误户UID空请重新输入
continue
fi
if [ `expr match uID [09]*` ne `expr length uID` ]
then
echo 错误户UID必须数字请重新输入
uID
continue
fi
if [ uID lt 500 o uID gt 60000 ]
then
echo 错误般非超级户ID范围500~60000请重新输入
uID
continue
fi
done
#户组GID处理
gID
while [ z gID ]
do
echo n 户组GID
read gID
if [ z gID ]
then
echo 错误户GID空请重新输入
continue
fi
if [ `expr match gID [09]*` ne `expr length gID` ]
then
echo 错误户GID必须数字请重新输入
gID
continue
fi
if [ gID lt 500 o gID gt 60000 ]
then
echo 错误户组ID范围500~60000请重新输入
gID
continue
fi
done
echo n 说明read note
#bashshcshksh
shellVersion
while [ z shellVersion ]
do
echo n 登录SHELL(bashshcshksh)
read shellVersion
if [ shellVersion bash a shellVersion sh a shellVersion csh a shellVersion ksh ]
then
echo 输入Shell类型shellVersion系统支持范围请重新输入
shellVersion
fi
done
echo n 户工作目录
mkdir homeuserName
if [ eq 0 ]
then
echo userName 成功创建
fi
userInfouserNamepassWorduIDgIDnoteuserNameshellVersion
echo userInfo >> dataSource
if [ eq 0 ]
then
echo userName户信息添加成功
else
echo userName户信息添加失败
fi
echo n 否继续添加户??(yn)
read isContinue
done
3delete脚
delete脚通户ID找passwd文件中应户ID记录删时考虑户误操作真正删户信息前进行户确认果户确认删户信息记录passwd中删需时文件进行辅助删效果保存该时文件中户确认删时文件容写入passwd文件否者保持passwd容变
clear
isContinuey
userName
while [ isContinue y o isContinue Y ]
do
while [ isContinue y o isContinue Y ]
do
echo n 输入户ID
read userID
if [ z userID ]
then
echo 户ID空请重新输入
isContinueY
continue
fi
CheckDataSourceFileExist
if [ ne 1 ]
then
deleteUser(awk F '1 'userName' { print 0 }' dataSource)
if [ deleteUser ]
then
echo 户信息: deleteUser
echo n 否删?(yn)
read isContinue
if [ z isContinue ]
then
isContinueN
fi
if [ isContinue y o isContinue Y ]
then
CheckDataSourceFileExist
if [ ne 1 ]
then
rowID(grep n deleteUser dataSource | awk F '{print 1}')
sed e rowID d dataSource > tempFile
cat tempFile > dataSource
rm tempFile
fi
if [ eq 0 ]
then
echo 记录删
else
echo 系统错误删失败
fi
isContinueN
fi
else
echo 输入 userID 户存
isContinueN
fi
fi
done
if [ n userName ]
then
echo n 否继续删户??(yn)
read isContinue
if [ z isContinue ]
then
isContinueN
fi
fi
done
4passwd原始脚
090510221x10001000somethinghome090510221binbash
maozongliangx10011001somethinghomemaozongliangbinbash

六 课程设计心体会
课设开始时课程设计务说明书然选择第题目说第较简单Linux会仔细说明书第题目感觉果JavaC++写写代码 ubuntu中Shell命令写感觉手百度希百度找代码步骤完全没找
开始课设搜索没找实验室里做知道手参加培训时间短心里焦急询问学做题目找会做等做完教心里稍安感觉光等教做干事学教轻松做第二题目务书开始第二题目发现提示非常详细样起做第二题目样做程中学基础知识事实做第二题目程中学关Linux基础知识然步骤指导书步步学会Linux操作系统中基命令熟悉ubuntu操作系统文件系统细节

周终等学援助面前演示遍交周基础知识铺垫步骤记住晚重做遍然问题流程知道第二天做遍代码更改然代码网载通修改懂shell编程知识发现C语言编程语言通处修改代码提供方便帮助两学教流程感觉第题目真第二简单然花天时间整理实报告
通次课设学会Shell命令方法熟悉ubuntu操作系统操作环境解Shell编程基特点等等感觉周学东西前月基完成课设务达课设目
七参考资料
[1] ubuntu Shell编程基础 Ubuntu wiki站
[2] ubuntu Bind9安装设置指南 Ubuntu wiki站
[3] W3cschool PHP 教程 W3C
[4] LinuxShell语言编程百度文库 刘桂海
[5] 吴恒奎Linux 指令速查手册 民邮电出版社 2007年12月
武汉工业学院课程设计

文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

linux编程SHELL编程实验报告

Linux编程课程设计报告题 目: Linux Shell编程 专 业 学 号 姓 名 指 导 教 师 日 期

z***u 1年前 上传609   0

编程模拟练习

模拟练习 一、选择题  1、传输用的基带信号主要要求: A、原始消息代码必须编成适合于传输用的码型;  B、电波形应适合于基带系统的传输。 C、设备简单可靠。 D、A和B答案均正确。 2、传输用的基带信号对代码的要求: A、原始消息代码必须编成适合于传输用的码型。  B、电波形应适合于基带系统的传输。 C、设备简单可靠。 D、低误码率。 3、传输用的基带信号对所

小***4 10年前 上传7827   0

用户需求说明书

   用户需求说明书 来自:http://www.chinaspis.com 作者:林锐 电子工业出版社出版发行 { 项目名称 } 用户需求说明书 文件状态: [√] 草稿 [ ] 正式发布 [ ] 正在修改 文件标识: Company-Project-RD-UR 当前版本: X.Y 作者:   完成日期: Year-Month-Day 版 本 历 史

z***l 14年前 上传17166   0

信息管理职位说明书

职 位 信息管理 编 号 页 码 第 页,共2页 隶 属 部 门 发展部 版本(次) 2003版(第1稿) 岗 位 概 述 负责公司管理信息系统软、硬件的建设与维护,确保信息收集和处理的时效性和准确性 岗 位 职 责 1. 负责公司管理信息系统软、硬件的建设与维护,及时收集和处理经营管理所需的各种信息; 2. 负责公司办公自动化系统(OA)的运

爱***猫 15年前 上传20336   0

操作系统课程设计编程序模拟银行家算法

课程设计报告书 课程名称: 操作系统原理 题 目: 编程序模拟银行家算法 系 名: 信息工程系 专业班级: 软件 姓 名: 学 号:

文***品 3年前 上传726   0

MES系统用户操作说明书

案卷号 JYWL-CZSM 日期 2011-8-31 编写人 舟山海霖密封件有限公司 制造执行系统(MES)用户操作说明书 舟山海霖密封件有限公司 1 制造执行系统(MES)用户操作说明书 1 1.编写目的 3 2.项目背景 3 3.参考资料

z***u 5年前 上传1860   0

信息管理职位说明书1

职 位 信息管理 编 号 页 码 第 页,共2页 隶 属 部 门 发展部 版本(次) 2003版(第1稿) 岗 位 概 述 负责公司管理信息系统软、硬件的建设与维护,确保信息收集和处理的时效性和准确性 岗 位 职 责 1. 负责公司管理信息系统软、硬件的建设与维护,及时收集和处理经营管理所需的各种信息; 2. 负责公司办公自动化系统(OA)和P

l***6 10年前 上传14510   0

shell电话面试

shell电话面试  发信人: bunnirabbit (兔子),   一个很nice的hrjj打的电话,比较准时,只迟了2分钟。先很礼貌地做了自我介绍,然后请我介绍自己。因为早就准备好了英文的self-introduction,所以我问可不可以用英文,她笑着说可以,可能觉得从来没有人有这么奇怪的要求-_-我也不是想秀英文,自己也知道just so so,只不过准备的是英文,用中文反倒不知道

y***i 11年前 上传518   0

强人的SHELL面试

强人的SHELL面试  发信人: scort (拉丁新手,直立行走的那只……),     偶的面试历程如下:  5月22日晚23:50提交简历(周六)  5月24日早收到电话面试通知,约好后天上午电话面试(周一)  5月26日9:20电话面试,跟JJ聊了28分钟(周三)  5月26日21:07收到结构面试通知,约好后天下午结构面试(周三)  5月27日,跟女友闹翻了,晚上蹦迪、喝酒到凌晨,睡

初***元 9年前 上传432   0

用户合同、档案及信息管理制度

用户合同、档案及信息管理制度  第一条 为了规范合同的签订和管理,维护公司及用户合法权益,保障用户资料及档案信息的安全,制定本制度。  第二条 本制度适用于天然气安装合同、供气合同及大型用户的照付不议合同。  第三条 用户合同具体包括:天然气用户工程安装合同、燃气报警器安装合同、城市燃气居民用户供气合同、城市燃气商业用户供气合同及大用户照付不议合同,可根据业务调整情况增减合同类别。

w***o 10年前 上传493   0

夹具课程设计说明书课程设计

 课程设计说明书 课 程 名 称 机械制造装配设计 设 计 课 程 钻床夹具设计 专 业 机械设计制造及其自动化 班 级 姓 名

z***u 5年前 上传1873   0

人口信息管理系统说明书软件开发综合训练课程设计

*******************实践教学******************* 兰州理工大学计算机与通信学院2012年春季学期软件开发综合训练课程设计题 目: 人口信息管理系统 专业班级: 姓 名: 学

文***享 1年前 上传266   0

液压课程设计说明书

液压课程设计说明书目录一.液压传动课程设计的目的及设计原始数据……………………………2二.工况分析…………………………………………………………………3三.拟定液压系统原理图……………………………………………………8四.液压元件的计算和选择…………………………………………………10 五.液压缸的结构选型………………………………………………………11

文***享 3年前 上传706   0

端盖课程设计说明书

端盖课程设计说明书一、设计任务根据所给的“端盖”零件,设计加工工艺规程。二、原始资料被加工“端盖”零件图1张 图1:端盖零件简图三、完成材料(1)被加工工件的零件图(AutoCAD制图)——1张(A3)(2) 机械加工工艺过程卡片——1张(3) 课程设计说明书——1份摘要本文的任务是加工工艺规程,包括被加工工件的零件图(AutoCAD格式)1

z***u 1年前 上传312   0

课程设计说明书书写格式

课程设计说明书书写格式《模拟电子技术》课程设计说明书书写格式 模拟电子技术》为了保证课程设计文档的质量,做到说明书格式的规范化,特作如下规定: 一,内容要求及格式 课程设计说明书应用汉语(简体汉字)撰写,内容应层次分明,数据可靠,文字简练,说明透彻,推 理严谨.说明书内容一般应由九个主要部分组成,依次为:1. 封面,2.课程设计任务书, 3. 目录, 4. 说明书正文,5. 结束语,6.

j***8 11年前 上传652   0

采矿学课程设计说明书

《采矿学》课程设计说明书 (准备方式:采区布置 煤层倾角:16°生产能力:150万t /a)班级:采矿班姓名: 学号: 班级序号: 指导老师: 完成时间:2010年X月X日目 录序 论········································2第一章.采区巷道布置··························

文***享 3年前 上传646   0

供热工程课程设计说明书

供热工程课程设计说明书课程名称: 设计题目: 院 系: 班 级: 设 计 者: 学 号: 指导教师:

文***品 2年前 上传460   0

差速器课程设计说明书

差速器课程设计说明书摘 要本次设计主要是对安装在驱动桥的两个半轴之间的差速器进行设计,主要涉及到了差速器非标准零件如齿轮结构和标准零件的设计计算,同时也对整车的参数、结构做了简单的选择计算。在设计中参考了大量的文献,因此对差速器的结构和作用有了更透彻的了解,通过利用CAD软件对差速器进行作图,也让我在学习方面得到了提高。关键字:差速器 半轴 设计 校核

z***u 1年前 上传352   0

推动架课程设计说明书

《机械制造技术》课程设计说明书班 级:机械制造 姓 名:学 号:日 期:2010 扬州工业职业技术学院目录1、 课程设计任务书……………………………………12、 引言…………………………………………............23、 零件分析……………………………………………34、 选择毛坯,确定毛坯尺寸,设计毛坯图…………45、 选择加工

z***u 1年前 上传270   0

连接座课程设计说明书

Hefei University夹具课程设计COURSE PROJECT题目: 连接座课程设计 系别: 机械工程系 专业: 机械设计制造及自动化 学制: 四 年 姓名: 学号:

文***享 1年前 上传219   0

计算机网络编程课程设计

课题一:基于TCP的Socket通讯编程一、 课程设计目的:1. 能够深刻了解socket编程思想;2. 从实现层面理解TCP和UDP链接的不同。二、 课程设计环境:1. windows XP或 win7 系统;2. 配置有java虚拟机的环境变量;3. 编写java程序的软件Eclipse。三、 课程设计原理: Windows Sockets规范本意在于提供给应用程序开发

文***品 3年前 上传540   0

软件工程课程设计学生信息管理系统

 课程设计报告 学生信息管理系统 学 院 年级专业 学生姓名 指导教师 提交日期 摘 要学生信息管理系统对于学校的决策者和管理者来说都至关重要是一个教育单位不可缺少的部分。本文介绍

文***品 1年前 上传392   0

学生信息管理系统软件工程课程设计

信息科学与工程学院课程设计任务书 题目: 学生信息管理系统 学 生1: 学 生2: 学 生3:

文***享 1年前 上传328   0

酒店智能卡锁管理系统用户使用说明书

酒店智能卡锁管理系统用户使用手册2010年3月第1章 系统简介 31.1 系统概述 3第2章 软件安装 5第3章 系统管理 113.1 系统设置 113.2 数据管理 123.2 日志管理 12第4章 用户管理 144.1 用户设置 144.2 权限设置 154.3 修改密码 17第5章 客房管理 185.1 楼栋管理 18

郭***林 3年前 上传717   0

Sunv-东方大典2002版用户需求规格说明书

《东方大典2002版》项目软件需求作者:xxx版本:1.0 日期:2002年2月19日文档审批单项目: 东方大典 版本: 1.0姓名签字日期项目经理软件质量保证软件配置管理软件经理其它文档修改

s***p 14年前 上传442   0