在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
关于LaravelLaravel是一个具有表达力,优雅语法的Web应用程序框架。
我们认为,发展必须是一种令人愉快的,富有创造力的经历,才能真正实现。
Laravel减轻了许多Web项目中使用的常见任务,从而减轻了开发过程中的痛苦,例如:。

用于和存储的多个后端。
富有表现力,直观的。
数据库不可知。


Laravel易于访问,功能强大,并提供大型,强大的应用程序所需的工具。
学习LaravelLaravel拥有所有现代Web应用程序框架中最广泛,最全面的和视频教程库,因此轻而易举地开始使用该框架。
如果您不想读书,可以使用帮助。
Laracasts包含1500多个视频教程,涉及各种主题,包括Laravel,现代PHP,单元测试和JavaScript。
深入我们全面的视频库,提高您的技能。
Laravel赞助商我们要感谢以下赞助商为Laravel开发
2023/11/27 15:36:12 453KB PHP
1
整体包含六个小部分,第一部分为管理员登录部分,管理员需要输入自己的用户名和密码进行登录操作,查询数据库中是否有该管理员信息,若数据库中有该条信息,且用户名与密码匹配则登陆成功,跳转到学生成绩信息增加、删除、修改、查询界面。
第二部分为增添信息的部分,界面中包含学号、姓名、语文成绩、数学成绩、英语成绩、Java成绩的文本字段和两个按钮,用户需要输入信息,点击确定按钮才能提交信息,提交的信息将存储在SQL数据库中,分别存储于两个表中。
第三部分为删除信息部分,界面中包含需输入学号的文本字段,点击确定按钮,则进行删除操作。
第四部分为修改信息部分,对学生的成绩信息进行修改和重新存储,界面中包含学号、
2023/11/27 13:34:25 3.07MB Java 管理系统 课程设计
1
该项目是通过。
试试看!怎么运行的:startDate-提供所需开始日期的查询字符串,格式为MM-DD-YYYY。
此字段是必需的。
numberOfDays=提供整数形式的查询。
此字段是必需的。
输出通过解决以下“鲍勃的香蕉预算”问题,将“totalCost”作为输出呈现:鲍勃每天都在上班途中从同一家杂货店买一根香蕉。
在这家杂货店,香蕉的定价是动态而可预测的:每月的前7天,香蕉的价格为$0.05;
该月的后7天,香蕉的价格为$0.10;
该月的前7天,香蕉的价格为0.15美元;
每月的第7天,香蕉的价格为$0.20;
以及该月之后剩余的任何几天,香蕉的价格为0.25美元。
鲍勃希望建立一个可以让他在任何时间范围内正确预算的工具。
他所需要做的就是提供开始计算的日期以及要计算多少天(包括开始日期),并且工具应告诉他在这段时间内要花费多少。
注意:Bob仅在工作
2023/11/27 13:16:44 141KB JavaScript
1
本帖代码和教程有Matlab技术论坛原创,原帖参见http://www.matlabsky.com/viewthread.php?tid=3885一、数值积分基本公式数值求积基本通用公式如下Eqn1.gif(1.63KB)2009-11-2023:23xk:求积节点Ak:求积系数,与f(x)无关数值积分要做的就是确定上式中的节点xk和系数Ak。
可以证明当求积系数Ak全为正时,上述数值积分计算过程是稳定。
二、插值型数值积分公式对f(x)给定的n+1个节点进行Lagrange多项式插值,故Eqn2.gif(2.95KB)2009-11-2023:23即求积系数为Eqn3.gif(3.29KB)2009-11-2023:23三、牛顿-柯特斯数值积分公式当求积节点在[a,b]等间距分布时,插值型积分公式(先使用Lagrange对节点进行多项式插值,再计算求积系数,最后求积分值)称为Newton-Cotes积分公式。
由于Newton-Cotes积分是通过Lagrange多项式插值变化而来的,我们都知道高次多项式插值会出现Runge振荡现象,因此会导致高阶Newton-Cotes公式不稳定。
Newton-Cotes积分公式的求积系数为Eqn4.gif(3.38KB)2009-11-2023:28其中C(k,n)称为柯特斯系数。
(1)当n=1时,Newton-Cotes公式即为梯形公式Eqn5.gif(1.68KB)2009-11-2023:28容易证明上式具有一次代数精度(对于Newton-Cotes积分公式,n为奇数时有n次迭代精度,n为偶数时具有n+1次精度,精度越高积分越精确,同时计算量也越大)(2)当n=2时,Newton-Cotes公式即为辛普森(Simpson)公式或者抛物线公式Eqn6.gif(2.04KB)2009-11-2023:28上式具有3次迭代精度(3)当n=4时,Newton-Cotes公式称为科特斯(Cotes)公式Eqn7.gif(2.68KB)2009-11-2023:28上式具有5次迭代精度。
由于n=3和n=2时具有相同的迭代精度,但是n=2时计算量小,故n=3的Newton-Cotes积分公式用的很少(4)当≥8时,通过计算可以知道,在n=8时柯特斯系数出现负值由于数值积分稳定的条件是求积系数Ak必须为正,所以n>=8以上高阶Newton-Cotes公式,我们不能保证积分的稳定性(其根本原因是,Newton-Cotes公式是由Lagrange插值多项推导出来的,而高阶多项式会出现Rung现象)。
四、复化求解公式n阶Newton-Cotes公式只能有n+1个积分节点,但是高阶Newton-Cotes公式由不稳定。
为了提高大区间的数值积分精度,我们采用了分段积分的方法,即先将原区间划分成若干小区间,然后对每一个小区间使用Newton-Cotes积分公式,这就是复化Newton-Cotes求积公式。
(1)当n=1时,称为复化梯形公式。
将[a,b]等分为n份,子区间长度为h=(b-a)/n,则复化梯形公式为(注意:复化求解公式不需要求积子区间等间距,只是Newton-Cotes公式分段积分时自动对小区间进行等分,我们这里采用等分子区间是为了便于计算而已)Eqn8.gif(2.18KB)2009-11-2023:28(2)当n=2时,称为复化辛普森公式。
Eqn9.gif(2.96KB)2009-11-2023:28五、Newton-Cotes数值积分公式Matlab代码
2023/11/26 8:36:30 126KB Matlab 技术论坛 牛顿 科特斯
1
你是否还在为如何写软件开发过程的各种文档,这里有你所需的各种文档模板,详细介绍如何编写,整合到一个文档中,望对你有帮助!附录A软件需求分析报告文档模板 9附录B软件概要设计报告文档模板 21附录C软件详细设计报告文档模板 33附录D软件详细设计报告文档模板 43附录E软件测试(验收)大纲 55
1
在Windows环境下使用nodejs作为服务器,使用https安全协议,能访问到webrtc最新接口;
资源内包含nodejs安装包,电脑虚拟摄像头安装包,https所需安全证书,操作说明书(不用下载别的东西了)代码中将直播端和显示端分开两个文件,可以使用手机或电脑直播,在电脑或手机显示(比较灵活);
本人最近开发这块功能,有问题欢迎随时留言沟通~PS:建议电脑使用百度浏览器,手机使用chrome浏览器功能说明:http://blog.csdn.net/qq983392709/article/details/78749730
2023/11/25 17:28:33 14.58MB webRTC 源码 原创 https协议
1
资源内含工程文件(源码)及数据库设计报告,需下载MySQL8.0版本及VS2013版,在报告说明下自行设置数据库及数据表,将工程文件放在VS工作目录下运行。
需要使用者掌握一定的数据库知识。
报告仅作为参考,请勿抄袭,出现报告重复问题概不负责。
有问题可私信联系我,本人QQ:3099215660.
2023/11/24 19:26:27 18.2MB 数据库应用
1
学分:参考:要求:cpp20gcc当前。
我正在使用VisualStudio不支持的某些功能。
这是WIP,一切都可能会发生变化。
这是OpenVIII到C++的端口。
这是一个实验。
我要保留的是尽可能的模块化,因此您不需要包括不需要的内容。
计划:首先要做的主要是后端工作。
支持每种文件格式测试以确保代码可以正常运行。
转储数据以查看是否可以正确读取。
能够快速实现所需的能力。
稍后可能会编写测试以快速渲染事物。
很像我们在OpenVIII-monogame上的调试菜单。
我将能够打开地图并查看它们,以确保绘图逻辑良好。
但是就像它将是它自己的轻量级exe一样,它只是填充了地图列表或我想要测试的每种类型的东西。
我要担心的最后一件事是游戏。
2023/11/24 11:03:18 324KB C++
1
石头,纸,剪刀共同创建者:AndrewLawson共同创建者:ZackRutledge共同创建者:AustinLandis具有TDD的基于终端的石头,纸张,剪刀描述这是在Epicodus编码学校学习RubyTDD的应用程序。
通过在命令行中运行lib/rock_paper_scissors.rb,用户可以在终端中播放石头,纸张,剪刀。
使用的技术Ruby规格安装:想立即查看此网页吗?在上查看此网页的实际操作转到()。
导航到github网站上的代码按钮。
单击代码按钮以打开菜单。
通过单击链接旁边的剪贴板来复制HTTPS代码。
在您的Bash终端中,使用所需目录的cd导航到所需位置。
cdDesktop选择所需目录后,请使用命令。
gitclonehttps://github.com/andyL89/rock_paper_scis
2023/11/24 10:19:53 3KB Ruby
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡