在Linux系统的/etc目录下有这样一个文件passwd,该文件里包含系统中所有用户信息的记录,记录里包含每个用户的如下信息:用户名、密码、用户ID、组ID、用户全名、用户主目录和用户登录所用的shell。
请设计一个脚本(shell)程序能实现增加、删除、查找和显示特定用户信息的功能。
你们可以通过创建一些UNIX/LINUXshell脚本文件来满足以上需求。
  可以用任意一个文本编辑器打开passwd文件,该文件里包含用冒号分隔开的字段组成的记录,如下所示:  root:x:0:0:root:/root:/bin/bash  zxj:x:500:500:zxj303:/home/zxj:/bin/bash  .  .  .  在主Shell脚本文件里(必须以menu命名)要有一个多操作选项的菜单以便用户从中选择。
在不同任务的中,这些操作能自动实现以下功能:在屏幕上显示当前所有用户的记录在屏幕上显示当前所有用户(经过格式化和排序的)的记录只在屏幕上显示用户名和用户ID只在屏幕上显示(经过格式化和排序的)用户名和用户ID查询并显示特定用户的记录往passwd文件里增加新的用户记录从passwd文件里删除某个用户记录  你可以使用UNIX/LINUX中一些比较简单的命令或命令组合来执行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脚本文件里将创建如下菜单,菜单里包含供用户选择的一些操作。
用户信息主菜单打印当前所有记录打印当前所有记录(格式化后的)打印用户名和用户ID打印(格式化了的)用户名和用户ID查询特定记录增加新记录删除记录Q——退出你的选择是:(等待用户输入)  当用户做了选择且所选的操作完成之后,应再次显示主菜单以供用户做下一步选择。
你必须用while循环和case条件语句配合来完成此操作。
另外在显示主菜单前必须先清除用户屏幕。
在以下所有步骤中,当显示主菜单前都需要先清屏。
  在menu脚本文件的前面部分你首先要定义三个变量,这三个变量分别存放passwd、add、delete文件的文件名,并且能在所有涉及到passwd、add、delete文件的语句中使用他们。
比如,可以定义成:          record_file=passwd  在所有访问passwd文件的语句中,只要使用$record_file即可。
这样做的一个优点就是,如果以后你需要重新命名记录或者需要在不同的记录文件中使用你的脚本的话,你只需要修改以上一个语句而不须在所有有关的记录文件里逐一修改语句。
如下定义另外两个变量:  add_file=add  delete_file=delete  定义以上变量之后,你必须核对menu脚本文件,看看所需的文件(passwd、add、delete)是否准确存放在当前目录下。
如果其中任何一个不存在,你的脚本menu文件就必须显示以下信息,然后退出:  RequiredfiletheMissingFiledoesnotexist.(所需文件不存在)  比如,如果passwd文件不存在,就显示“Requiredfilepasswddoesnotexist.(所需文件记录不存在)”然后退出。
  在以上等待用户做出选择的菜单中,如果用户偶尔输入了一个代码而不是1、2、3、4、5、6、7或Q,就有信息提示“无效的代码,请按回车键继续``````”(务必保证光标停留在此信息行末尾而不是在下一行的开始处)。
等用户按了回车键之后,再次显示主菜单供用户做其他选择。
可以允许用户使用Q或q退出。
  在以上等待用户做出选择的菜单中,如果用户简单地按了回车键(而不是输代码)的话,就会出现信息“Selectionnotentered.PressEntertocontinue…"(务必保证光标停留在此信息行末尾而不是在下一行的开始处)。
等用户按了回车键之后,再次显示主菜单供用户做其他选择。
  当用户选择了第一项——打印当前所有用户记录  以下是当用户在主菜单中选择第一个选项后,menu脚本文件
2023/11/27 18:53:43 211KB Linux大作业
1
课程设计的要求1、实现多路抢答;
2、能显示最终抢得答题机会的机号3、主持人能对抢答器进行控制启停扩展功能:能实现计时功能
2023/11/26 18:28:39 22KB Protuse仿真
1
摘要本次课程设计的主要任务是应用所学的西门子S7-200系列小型PLC设计一个四层电梯控制系统。
该系统能实现普通电梯的基本功能,并有超重报警,故障检修等功能。
最后还用FameView组态软件制作了上位机的监控系统,用来对整个电梯的运行过程进行实时的监视控制。
本次设计包括了硬件分析、编写程序、制作组态、仿真测试等步骤。
硬件分析主要是对电梯实物模型的分析和检测,硬件电路由直流电动机、继电器、接触器、行程开关、按钮、发光指示器等组成。
程序是借助V4.0STEP7MicroWINSP3编程软件编写完成的。
本课题的开发平台是WindowsXP。
2023/11/23 20:06:56 412KB 西门子S7-200 PLC FameView 四层电梯
1
该系统是基于vs2008+Sql2005开发平台的一个纯软件系统,能实现简单的刷卡和充值功能
2023/11/23 9:54:14 4.82MB 公交 刷卡
1
1.设计目的是为了在大棚里土壤湿度不够情况下,电机启动,灌溉。
湿度达到就电机停止,灌溉结束。
湿度区间你们定.实现自动灌溉.2.要求把实物放到一个大棚模型里,要求有一个单片机A控制两个单片机(B.C),能实现对单片机B或单片机C的控制,既能使B跟C单独工作,也能实现B跟C一起工作.单片机B跟C分别连接两个传感器检测湿度.3.必须使用stw32,可以里面任意一个.
2023/11/20 2:21:54 46.99MB stm32 单片机
1
找了很久才找到的一个很好的三电平SVPWM调制学习文档,照着做就能实现!
2023/11/18 16:51:51 622KB 三电平
1
文件内容:竞赛抢答器说明书,源代码。
硬件条件:微机硬件实验箱(8255芯片;
四个LED;
8个开关;
一个扬声器;
红绿灯各一个)。
该实验实现了竞赛的抢答,加分,倒计时,红绿灯以及扬声器警告内容。
在一般的微机实验箱上都能实现。
2023/11/12 2:07:39 60KB 抢答器 四路 微机课程设计
1
编写一个算符优先分析程序,能实现以下功能:1. 输入文法,判断是否为算符文法。
2. 构造并输出文法的每个非终结符的FIRSTVT和LASTVT。
3. 构造并输出算符优先分析表,判断是否为算符优先文法,如果不是提示无法进行分析。
4. 输入任意一个输入串,可得到成功的分析或错误提示,输出其分析过程或打印语法分析树。
2023/11/9 17:03:25 29KB 编译原理
1
代码编写软件keil5,游戏能实现计分功能,子弹强化功能。
2023/11/7 0:39:57 29.51MB STM32
1
基于FPGA的信号发生器能实现三角波正弦波方波锯齿波
2023/11/3 6:42:54 452KB 信号发生器
1
共 269 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡