欢迎来到天天文库
浏览记录
ID:8811626
大小:498.00 KB
页数:15页
时间:2018-04-08
《shell编程--用户信息管理(模拟)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、武汉工业学院数学与计算机学院《Linux操作系统》课程设计说明书题目:shell编程--用户信息管理(模拟)专业:班级:学号:姓名:指导老师:2012年 6 月 8 日一、课程设计目的掌握linux操作系统中shell脚本编程技术中的:变量定义、变量使用、循环控制结构、条件选择结构、用户交互、文件读写、文本内容分析以及linux重要命令的使用等。以验证学生对于shell脚本编程的掌握情况。要求学生能够利用shell脚本编程实现较为基本的功能。Linux作为多用户、多任务的操作系统,其系统资源是所有用户共享的。对用户的管理是操作系统的重点。LINU
2、X课程设计要用shell编程实现,将理论学习付诸实践。设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。二、课程设计内容在主Shell脚本文件里(必须以menu命名)要有一个多操作选项的菜单以便用户从中选择。在不同任务的中,这些操作能自动实现以下功能:1)在屏幕上显示当前所有用户的记录2)在屏幕上显示当前所有用户(经过格式化和排序的)的记录3)只在屏幕上显示用户名和用户ID4)只在屏幕上显示(经过格式化和排序的)用户名和用户ID5)查询并显示特定用户的记录6)往passwd文件里增加新的用户记录7)从passwd文件里删除
3、某个用户记录在目录下有四个文件分别为menu,passwd,add,delete其中:menu文件中的程序完成1,2,3,4,5功能;另外写一个add脚本文件和delete脚本文件分别实现选项6和7.当用户做了选择且所选的操作完成之后,可以再次显示主菜单以供用户做下一步选择。用while循环和case条件语句配合来完成此操作。三、课程设计基本原理及功能1.功能图显示当前所有用户的记录显示当前所有用户经格式化后的记录显示用户名和用户ID显示格式化后用户名和用户ID查找指定用户信息添加用户信息删除用户信息用户信息主菜单2.流程图2.2.1主菜单2.2.2
4、add模块2.2.3delete模块四.设计步骤1、编写menu、add和delete是shell脚本以及passwd文件;(menuadddelete文件是在网上下载,只是改动少许,以让其符合设计要求。)2、在目录下添加四个文件分别为menu.sh,passwd,add.sh,delete.sh和090510221空文件夹作为新建用户目录。可以直接在whpuser下新建也可以使用指令添加:vimenu.shviadd.shvidelete.shvipasswd3、执行menu.sh脚本://增加权限chmod+xmenu.sh./menu.sh执行
5、效果截图:4、输入错误截图:5、选择菜单1时,显示的结果如下图所示:6、选择菜单2时,显示的结果如下图所示:7、选择菜单3时,显示的结果如下图所示:8、选择菜单4时,显示的结果如下图所示:9、选择菜单5,并输入需要查询的用户名时,显示的结果如下图所示:10、选择菜单6,显示的结果如下图所示:完成添加用户后,在调用菜单2能够看到新添加用户mycount的信息条目。11、选择菜单7,通过用户ID来删除用户,显示的结果如下图所示:完成删除用户后,在调用菜单2能够看到新添加用户mycount的信息条目。五.源代码1、menu脚本框架#!/bin/bash#声
6、明全局变量dataSource='passwd';homePath='.';addUsers="add.sh";deleteUsers="delete.sh";CheckDataSourceFileExist(){if[-f$dataSource]then#文件存在return0;else#文件不存在clear;echo-n"警告【$dataSource】不存在!请确认!";read;return1;fi}choice="F";while[$choice!="Q"-a$choice!="q"]doCheckDataSourceFileExist;if
7、[$?-ne1]thenclear;echo"用户信息管理主菜单";echo"===========================================================";echo"1.显示当前所有记录";echo"2.格式化显示当前所有记录";echo"3.显示用户名和用户ID";echo"4.格式化显示用户名和ID";echo"5.查询特定用户信息";echo"6.添加新用户";echo"7.删除用户";echo"Q.退出";echo-n"你的选择:";readchoice;#作用是清除由于read到string.Em
8、pty的时候引发的bash参数过多的错误。if[-z$choice]thenchoice="empty";f
此文档下载收益归作者所有