欢迎来到天天文库
浏览记录
ID:43091443
大小:83.50 KB
页数:7页
时间:2019-09-25
《linux系统应用shell大作业》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、LINUX/UNIXShell编程大作业在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shello请设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。你们可以通过创建一些UNIX/LINUXshell脚本文件来满足以上需求。可以用任意一个文本编辑器打开passwd文件,该文件里包含用冒号分隔开的字段组成的记录,如下所示:root:x:0:0:root:/root:/bin/bashz
2、xj:x:500:500:zxj303:/home/zxj:/bin/bash在主Shell脚木文件里(必须以menu命名)要有一个多操作选项的菜单以便用户从屮选择。在不同任务的中,这些操作能白动实现以下功能:1、在屏幕上显示当前所有用户的记录2、在屏幕上显示当前所有用户(经过格式化和排序的)的记录3、只在屏幕上显示用户名和用户ID4、只在屏幕上显示(经过格式化和排序的)用户名和用户ID5、查询并显示特定用户的记录6、往passwd文件里增加新的用户记录7、从passwd文件里删除某个用户记录你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行
3、1、2、3、4、5的任务。对于任务6和7,你需要编写单独的Shell脚本文件(必须分别命名为add和delete)并且在你的主脚本menu文件中调用这些脚本文件。可能你还需要查询一些Unix/Linux命令,比如awk,、sort^tr>cut>paste>sed>grep;你也可能还需要查询其他的Unix/Linux命令。建议你在主目录下建立一个以XXXXXX(XXXXXX为学号)命名的目录,并且在本次作业屮使用它作为工作目录。主脚本文件中的菜单在menu脚本文件里将创建如下菜单,菜单里包含供用户选择的一些操作。用户信息主菜单1、打印当前所有记录2、打印当
4、前所有记录(格式化后的)3、打印用户名和用户ID4、打印(格式化了的)用户名和用户ID5、查询特定记录6^增加新记录7、删除记录Q——退出你的选择是:〈等待用户输入、当用户做了选择且所选的操作完成Z后,应再次显示主菜单以供用户做下一步选择。你必须用while循环和case条件语句配合来完成此操作。另外在显示主菜单前必须先清除用户屏幕。在以下所有步骤中,当显示主菜单前都需要先清屏。在menu脚本文件的前面部分你首先要定义三个变量,这三个变量分别存放passwd、add、delete文件的文件名,并且能在所有涉及到passwd、add、delete文件的语句屮使
5、用他们。比如,可以定义成:record_file=passwd在所有访问passwd文件的语句中,只要使用$record_file即可。这样做的一个优点就是,如果以后你需要重新命名记录或者需要在不同的记录文件中使用你的脚本的话,你只需要修改以上一个语句而不须在所有有关的记录文件里逐一修改语句。如下定义另外两个变量:add_file=adddelete_file=delete定义以上变量Z后,你必须核对menu脚本文件,看看所需的文件(passwd、add、delete)是否准确存放在当前目录下。如果其中任何一个不存在,你的脚本menu文件就必须显示以下信息,
6、然后退出:RequiredfiletheMissin^Filedoesnotexist.(所需文件不存在)比如,如果passwd文件不存在,就显示“Requiredfilepasswddoesnotexist.(所需文件记录不存在)”然后退出。在以上等待用户做出选择的菜单中,如果用户偶尔输入了一个代码而不是1、2、3、4、5、6、7或Q,就有信息提示“无效的代码,请按回车键继续、、、、、、”(务必保证光标停留在此信息行末尾而不是在下一行的开始处)。等用户按了冋车键之后,再次显示主菜单供用户做其他选择。可以允许用户使用Q或q退出。在以上等待用户做出选择的菜单中
7、,如果用户简单地按了回车键(而不是输代码)的话,就会出现信息“Selectionnotentered.PressEntertocontinue..."(务必保证光标停留在此信息行末尾而不是在下一行的开始处)。等用户按了回车键之后,再次显示主菜单供用户做其他选择。当用户选择了第一项一一打印当前所有用户记录以下是当用户在主菜单屮选择第一个选项后,menu脚本文件输出的内容的例子:(此处是主菜单一略)你的选择:1〈用户输入、rootx00root/root/bin/bashzxjx500500zxj303/home/zxj/bin/bash按冋车键继续…〈等用户按
8、冋车键。按后要再次显示主菜单)(注:以上输出内容与p
此文档下载收益归作者所有