在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
IT金融公司自用的卡bin表,(卡号银行对照表,发卡行名称、机构代码、卡名、卡号、卡种),
2023/11/25 10:15:55 1.49MB 金融 卡bin
1
皮拉·格莱斯同伴git和博客:致谢MIT许可条款所使用的glm头文件来自项目使用SDL2项目使用GLEW(仅Windows)从获得的stb_image.h(获得MIT许可)在Linux上构建依赖项:git,git-lfs,sdl2(开发库),glm要在Debian(包括Pyra)上安装:sudoaptinstallgitgit-lfslibsdl2-devlibglm-dev使用bash运行misc/build.sh,例如:cdpyragles/misc/bin/bashbuild.sh在Windows上构建下载并安装VisualStudio下载并解压缩VisualStudio的下载并解压缩(您需要BinariesWindows32-bitand64-bit,将您发送到Sour
2023/11/24 4:18:58 490KB cplusplus opengl-es-20 pyra C++
1
VisualParadigmforUML10.0SP1企业版多语言破解版(含简体中文)安装之后,自动识别系统语言,选择与系统相对应的语言。
(如果是系统是中文软件就会显示中界面)。
压缩包包含的文件:1、不同操作系统对应的下载地址:如:Window(32/64bit)、Mac、Linux(建议用破解的QQ旋风VIP下载,速度快)。
2、注册文件:vp-uml-ee.zvpl3、破解使用说明安装之后,先不要启动,将vp-uml-ee.zvpl复制到安装目录默认:C:\ProgramFiles\VisualParadingForUML\bin下即可,然后启动,享受无限制使用的企业版吧!!哇哈哈....查看是否破解:工具---_-LicenseManager-_-许可协议许可协议:PerpetualStatus:有效的恭喜你!破解完成....
2023/11/22 9:12:33 1KB VP1O企业版 中文破解版
1
缺少winutils.exe回报如下错误:Couldnotlocateexecutablenull\bin\winutils.exeinthehadoopbinaries缺少hadoop.dll错误如下:Unabletoloadnative-hadooplibraryforyourplatform…usingbuiltin-javaclasseswhereapplicable解压文件,winutils.exe,hadoop.dll两个文件都要copy放在hadoop/bin/目录下即可
2023/11/18 17:52:17 335KB hadoop
1
【MicroPython学习笔记】02添加自定义模块(使用C语言实现)在本文中使用到
2023/11/18 4:27:25 15.98MB python
1
使用说明把源程序的压塑包解压,把bin文件夹下的.apk文件复制到手机上进行安装,就可以直接使用。
使用时需要先登录,可以使用已注册过的用户名密码直接登录,也可以自己先进行注册,再登录使用。
登录过后,通过功能集合界面,进行选择要使用的功能,进入相应的功能模块。
2023/11/18 3:08:19 18.54MB android项目
1
[在制品]克隆项目gitclonehttps://github.com/hungvu193/ExchangeRateBot.git安装创建虚拟环境cdprojectfolderpython3-mvenv./venvsource./venv/bin/activate安装spacypip3install"rasa[spacy]"安装vi-spacy-modelpipinstallhttps://github.com/trungtv/vi_spacy/raw/master/packages/vi_spacy_model-0.2.1/dist/vi_spacy_model-0.2.1.tar.gz安装pyvipipinstallpyvi链接vi_spacy_modelpython-mspacylinkvi_spacy_mode
2023/11/15 8:32:48 94.25MB Python
1
su文件,手机adb获取root权限,使用su文件直接放在system/bin目录下
2023/11/15 2:36:34 7KB 安卓 android su
1
1.JLink-v9_bootloader固件.bootloader.bin2.JLINK9可升级固件及固件更新工具.JlinkV9.3原理图.pdfjlink-v9.5原理图.pdfJ-LINK-V9-bootloader.dfujlink-v9激活.txt详细操作步骤说明.docxST_DfuSe_Demo_V3.0.6_Setup.zip3.升级方式:DFUISP(通过boot引脚设置从systemmemory启动)。
工具:ST官方工具,ST_DfuSe_Demo_V3.0.6。
硬件:JLinkV9.x硬件为stm32f205rc.操作步骤:1.参考JLinkV9.3或JLinkV9.5原理图(注意:原理图和你手上实物可能不是100%一致。
)。
通过boot引脚设置从systemmemory启动:设置stm32f205rc的引脚电平为boot0:1,boot1:0(如果原硬件JLink上无跳线帽,需要自己手动焊线设置电平),使上电后,进入systemmemory。
下图是我的JLinkV9.3,boot0引脚,PCB上直接连接到GND上了,用美工刀片挑起这个引脚,再焊线的。
Boot1引脚,在原理图中,连接在200欧姆的排阻上,我是从排阻上焊线的。
由于从网上下载了4份资料,需要反复测试,反复焊线设置启动方式,太麻烦了,后面加焊了排针,使用了杜邦线。
2.安装ST_DfuSe_Demo_V3.0.6,驱动不会自动安装,需要自己更新驱动。
把JLink通过USB线插到电脑上,在设备管理器中,会显示未知驱动设备,手动浏览到ST_DfuSe_Demo_V3.0.6的安装路径(如:C:\ProgramFiles(x86)\STMicroelectronics\Software\DfuSev3.0.6\Bin\Driver\Win7\x64),即可完成驱动安装。
3.运行DfuSeDemo,4.点击Choose,选择文件J-LINK-V9-bootloader.dfu,点击Upgrade,开始更新。
5.拔掉USB线,恢复启动引脚电平boot0:0,boot1:x(这个脚是JTAG的数据线引脚,取消接地即可)。
插上USB线,打开JLink.exe,提示升级,成功后,即为最新版本(我的JFlash版本为JLink_V634f,升级后版本为:firmware:J-LinkV9compiledAug23201809:45:44,Hardwareversion:V9.20.)。
2023/11/13 15:10:04 19.46MB JLink_V9.3 JLink_V9.5
1
共 976 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡