linux课程设计规划
一、LINUX/UNIX Shell编程大作业的要求3
二、Menu脚本3
1.当用户选择了第1项——打印当前所有用户记录5
2.当用户选择第2项时——打印当前经过格式化的用户记录后5
3.当用户选择第3时——打印用户名和用户ID5
4.当用户选择4时——打印(格式化的)用户名和用户ID5
5.当用户选择5时——查找特定的记录6
三、Add脚本6
四、delete脚本文件11
五、附代码13
(1)Menu主脚本文件代码13
(2)Add脚本文件代码14
(3)Delete脚本文件代码18
一、LINUX/UNIX Shell编程大作业的要求
结合以前做过的项目,要求在linux系统下,用C语言实现。包括:
1、项目文档,包括项目背景,意义,系统框架描述,各功能模块实现,系统测试,结论等。
2、程序源代码,源代码必须在linux系统下可以运行,实现项目文档里描述的功能。
二、Menu脚本
1、Menu脚本文件中的菜单
在menu脚本文件的前面部分定义三个变量,这三个变量分别存放passwd、add、delete文件的文件名,并且能在所有涉及到passwd、add、delete文件的语句中使用他们。
在menu脚本文件里创建如下菜单,菜单里包含供用户选择的一些操作。
当用户做了选择且所选的操作完成之后,应再次显示主菜单以供用户做下一步选择。在等待用户做出选择的菜单中,如果用户简单地按了回车键(而不是输代码)的话,就会出现信息
等用户按了回车键之后,再次显示主菜单供用户做其他选择。
如果在等待用户做出选择的菜单中,如果用户偶尔输入了一个代码而不是1、2、3、4、5、6、7或Q,就有信息提示“无效的代码,请按回车键继续”
等用户按了回车键之后,再次显示主菜单供用户做其他选择。
2、菜单功能项
(1).当用户选择了第1项——打印当前所有用户记录
以下是当用户在主菜单中选择第一个选项后,menu脚本文件输出的内容。以上输出内容与passwd文件不同之处在于:空格键代替了所有的冒号。
(2).当用户选择第2项时——打印当前经过格式化的用户记录后
以下是当用户在主菜单中选择第二个选项后,menu脚本文件输出的内容。以上格式输出是按用户名排序的。每列应该左对齐。
(3).当用户选择第3时——打印用户名和用户ID
以下是当用户在主菜单中选择第三个选项后在脚本菜单输出的内容。以上输出与passwd文件内容之间的不同之处。冒号已被逗号代替。每个表目[记录]只有显示用户名和用户ID。
(4).当用户选择4时——打印(格式化的)用户名和用户ID
以下是当用户在主菜单中选择第四个选项后在脚本菜单输出的内容。以上格式输出是按用户名排序的。每列应该左对齐。
(5).当用户选择5时——查找特定的记录
以下是当用户在主菜单中选择第五个选项后在脚本菜单输出的内容。输出用户的所有相关信息。
如果输入的关键字不在记录里,则显示如下内容:“无效的代码”。
如果用户只是简单地按回车键而不是输入关键字,则显示如下内容:“没有输入关键字”,并再次要求用户输入关键字。
(6).当用户选择Q或q后退出主菜单
三、Add脚本
在MENU菜单中
当用户选择6时——添加新记录,add脚本文件被调用,以下是增加功能的输出。
1、用户名
一个有效的用户名必须只含字母和数字。
如果用户输入一个无效的用户名,就显示这样的信息:“用户名只包含字母和数字,并且不能以数字开头!”,并且提示用户再次输入用户名。
如果用户只按回车没有输入的话,则显示信息:“没有输入用户名!”,并提示用户再次输入用户名。
如果输入的用户名已经存在的话,则显示信息:“此用户名已存在!”,并提示用户再次输入用户名。
2、密码
输入密码时不显示,要求密码长度至少达到6位以上、且由大小写字母、数字和控制字符组成。
如果用户输入一个不足6位的密码,则显示如下信息:“密码要6位或6位以上”,并且提示用户再次输入密码。
如果用户只按回车没有输入的话,则显示信息:“没有输入密码,请输入密码”,并提示用户再次输入密码。
3、确认密码
如果输入的确认密码与密码不符,则显示:“确认密码与原密码不符!”,并提示用户再次输入确认密码。
如果输入的确认密码3次,且与原密码不符,就退出添加,并返回主菜单。
4、用户ID
用户输入一个有效的用户ID(数字、一般非超级用户的ID大等于500且小于60000)。
如果用户只是简单的按回车键,则显示信息:“没有输入ID,请输入用户ID”,并提示用户再次输入用户ID。
如果用户输入的是一个无效的用户ID或者是不符合格式的用户ID,则显示信息:“无效的用户ID,有效ID应该由数字组成”,并提示用户再次输入用户ID。
如果用户输入的是一个在500到60000之外的数字,即