一个低级shell简易学生信息管理系统-新增登陆注册功能
还有bug 不修改了
小声bb一下 这玩意真的要控制版本 随手保存 本来有个超完整的版本 一开心被我rm - f 了 后续还出现了 更多的bug 仔细仔细


源码如下:
|
record=stu.db if [ ! -e $record ]; then touch record fi if [ ! -e $key.txt ]; then touch key.txt fi login() { i=3 while [ $i -gt 0 ] do echo "---->您还有 $i 次机会,请好好把握" echo -e " 登录姓名:\c" read Name echo -e " 登录密码:\c " read Pwd echo $content if [ "$Name" = "lfc" ] && [ "$Pwd" = "123456" ] #管理员账号 then echo "---->登录成功!欢迎您 管理员" sleep 2 return 1 elif content=$(grep -0 "^账户:${Name}|密码:${Pwd}" "key.txt") then echo "---->登录成功!欢迎您 $Name 同学" sleep 2 return 1 else [[ $content = "" ]]; echo "账户或者密码错误" i=`expr $i - 1` fi done echo "---->机会用完了哦!欢迎下次再见" } #注册 register() { echo -e " 注册名:\c" read Name echo -e " 密 码:\c" read Pwd content=$(grep -0 "^a账户:${Name}|" "key.txt") if [[ $content = "" ]] then echo "账户:${Name}|密码:$Pwd" >> key.txt echo "账户成功!" echo "---->注册成功!欢迎您$Name" echo "---->您的注册名:$Name ;注册密码:$Pwd" else echo "账户也注册过啦,请换一个好听的账户名字哟" fi } echo "****************************************" echo "********欢迎来到学生信息管理系统********" echo "****** 1、登录帐号 *****" echo "****** 2、注册帐号 *****" echo "****************************************" echo -e "---->请输入您的选择:\c" read NUM if [ $NUM -eq 1 ] then login elif [ $NUM -eq 2 ] then register else echo “对不起,无该选项,请重新输入!!!” fi #查询函数 search() { clear echo "请输入你需要查询学号 " #如果记录为空 read content grep $content $record if [ $? -eq 1 ]; then echo "未找到相关学生信息" fi read -s -n1 -p "按任意键继续 ... " } #增加信息 add() { clear echo "请输入学生信息" printf "%-14s %-12s %-4s %-4s %-11s\n" 学号 姓名 年龄 性别 电话\(以空格区分\) read no name age sex phone #echo -e "\c" # 判断是否存在 if [ "$no" -gt 0 ] 2>/dev/null; then echo "" >/dev/null else echo "学号不是数字!请重新输入" echo "2s后自动返回首页" sleep 2; return 1 fi checkno=$(awk '$1=="'"$no"'" {print $0}' $record) # 学号已存在 if [ -n "$checkno" ] >/dev/null; then echo "该学号已存在请重新输入" echo "2s后返回首页" sleep 2; return 1 fi printf "%-14s %-12s %-4d %-4s %-11d\n" $no $name $age $sex $phone >>$record sort -o $record $record echo "添加成功" read -s -n1 -p "按任意键继续 ... " } #删除学生信息 delete() { clear echo "输入要删除学生的学号" read del del=$(awk '$1=="'"$del"'" {print $0}' $record) # 学号空 if [ -z "$del" ]; then echo "未找到相关学生信息" return 1 fi echo $del sed -i "/$del/d" $record echo "删除成功" } #显示所有的记录函数 display() { clear cat $record read -s -n1 -p "按任意键继续 ... " } #修改学生信息 edit() { clear echo "请输入需要修改学生信息的学号" echo "输入要修改的学号" read del del=$(awk '$1=="'"$del"'" {print $0}' $record) # 学号为空 if [ -z "$del" ]; then echo "未找到相关学生信息" return 1 fi sed -i "/$del/d" $record echo "输入修改后学生信息" sleep 1 add echo "信息修改成功" #vim ./record 之前的暴力修改 } #屏幕帮助操作 help() { clear echo "这是使用shell脚本写的学生信息管理系统,若使用有问题请往博客https://www.cnblogs.com/loufangcheng/进行查看" } #退出程序 quit() { clear exit } clear while true do echo -e " " echo "*********************************************" echo "*******学生信息管理 **************************" echo "---------------------------------------------" echo "#############################################" echo "******* 1-查找学生信息 ******************" echo "******* 2-增加学生信息 ******************" echo "******* 3-删除学生信息 ******************" echo "******* 4-显示所有学生信息 ******************" echo "******* 5-修改学生信息 ******************" echo "******* H-帮助 ********************" echo "******* Q-退出 ******************" echo "#############################################" echo -e -n "请输入您的选择:\c" read CHOICE case $CHOICE in 1) search;; 2) add; clear;; 3) delete; clear;; 4) display;; 5) edit; clear;; H|h) help;; Q|q) quit;; *) echo "请重新输入!"; sleep 2; clear;; esac done |
一个低级shell简易学生信息管理系统-新增登陆注册功能的更多相关文章
- Django 小实例S1 简易学生选课管理系统 5 实现注册功能
Django 小实例S1 简易学生选课管理系统 第5节--实现注册功能 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 本文涉及到的新的额外知识点: ...
- 基于数据库MySQL的简易学生信息管理系统
通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生 ...
- c#简易学生信息管理系统
在近期的学习中,我们学习了泛型及泛型集合的概念和使用,泛型是c#中的一个重要概念,为了巩固我们学习的成果,我们可以使用一个实例来进行练习 题目及要求 要求使用Windows窗体应用程序,制作出如上图的 ...
- Python——面向对象,简易学生信息管理系统
一.概述 1.1涉及到的知识点 项目开发:创建项目,创建包,导入包: 面向对象:静态方法,继承,内置函数,自定义函数: 数据类型:列表,字典,字符串.列表.字典的转换和自动生成导向: 异常处理:捕获异 ...
- 【python免费代码】设计一个简单的学生信息管理系统
文章目录 前言 一.理解 二.部分截图展示 三.代码 四.总结 前言 设计一个简单的学生信息管理系统,实现以下功能(bug) : 录入学生信息,信息以文件方式存储 以学生学号或者学生姓名为条件查询该学 ...
- asp.net+sql数据库学生信息管理系统
一款学生信息管理系统送给大家. 功能部分: 1.教师管理(添加,修改,删除,查看) 2.学生管理(添加,修改,删除,查看) 3.班级管理(添加,修改,删除,查看) 4.学生成绩管理(添加,修改,删除, ...
- Django 小实例S1 简易学生选课管理系统 7 修改个人信息
Django 小实例S1 简易学生选课管理系统 第7节--修改个人信息 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 用户模块除了注册登录之外,还 ...
- Django 小实例S1 简易学生选课管理系统 12 CSS样式完善
Django 小实例S1 简易学生选课管理系统 第12节--CSS样式完善 点击查看教程总目录 作者自我介绍:b站小UP主,时常直播编程+红警三,python1对1辅导老师. 课程模块的逻辑代码到这里 ...
- Java 实现学生信息管理系统
编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...
随机推荐
- MFC 封装类为静态链接库
mfc自带的基本控件都不怎么美观,所以一般开发者都会自定义类对控件进行重绘.手里也积累了不少控件的重绘,对对话框.静态文本.列表框等. 但是每次都要把这些类重新导入到新的工程里,比较麻烦,而且我也不想 ...
- 思数云hadoop目录
全文检索.数据分析挖掘.推荐系统.广告系统.图像识别.海量存储.快速查询 l Hadoop介绍 n Hadoop来源与历史 n Hadoop版本 n Hadoop开源与商业 l HDFS系统架构 n ...
- win10安装Keras报错处理
本机已经安装好TensorFlow安装Keras的过程中遇到了些问题,解决后做一下记录: 1.Keras与TensorFlow的关系 Keras默认以TensorFlow为后端,同时可选以Theano ...
- Vijos1774 机器翻译 [模拟]
1.题意:给定一段长度为N个单词的文章(一个单词用一个非负整数表示),可以使用一个容量为M个元素的容器.你的任务是使用字典的帮助翻译文章,遇到一个单词,查询之后将此单词的释义放入容器中,下次遇到时若此 ...
- Mac Tab自动补全键
最近入手一个Mac(Mac 2019版本),在使用终端时,发现不能使用Tab键自动补全代码,网络搜寻下,发现这里有个方法,记录下,免得自己忘记: 1 / 首先找到这个图标 2 / 输入命令 nano ...
- Jenkins的简单安装
系统:CentOS release 6.5 (Final) 一. 安装JDK 1.1 查询系统是否已安装OpenJDK Centos系统默认会安装OpenJDK,首先检查系统是否安装有jdk并且是Op ...
- Cocos Creator | 飞刀大乱斗开发教程系列(一)
预览效果 具体内容 ■ 这一期,主要讲解主页下方列表选项如何实现.也就是游戏开始后,加载所有现有的英雄列表,这一功能的实现,如下图部分. ■ 列表使用 ScrollView 实现,横向滚动,设置好上下 ...
- 快速傅里叶变换与快速数论变换瞎学笔记$QwQ$
$umm$先预警下想入门$FFT$就不要康我滴学习笔记了,,, 就,我学习笔记基本上是我大概$get$之后通过写$blog$加强理解加深记忆这样儿的,有些姿势点我可能会直接$skip$什么的,所以对除 ...
- HTTP请求中的GET-POST方式
目录 一.前言部分(概念) 二.对比 GET 与 POST 二者最大的差异 GET 与 POST 请求本质上并无区别 深层了解:POST 请求产生两个数据包? 三.两种请求方式如何灵活使用? 四.常见 ...
- 探究Dubbo的拓展机制: 上
这篇博文是我决心深度学习Dubbo框架时记录的笔记, 主题是Dubbo的拓展点, 下面的几个部分相对来说比较零散, 貌似是不和主题挂钩的 , 并且是一些很冷门的知识点 , 但是它们确实是深入学习Dub ...