源码如下:
#查询函数 search() { clear echo -e "请输入你需要查询的名字或者学号 >>>\c" read NAME #如果记录为空 if [ ! -f ./record ];then echo "该学生不存在此系统!" sleep 2 clear return fi #没有输入名字进行查询 if [ -z "$NAME" ];then echo "你没有输入名字!" echo -e "请重新输入名字>>>\c" read NAME fi grep -i "$NAME" ./record 2> /dev/null case "$?" in 1) echo "该学生不存在此系统!!!." ;; 2) echo "你没有输入名字查询"; sleep 2; search;; esac } #增加信息 add() { clear echo "请按照以下格式输入学生信息" echo "请输入学号|姓名|年龄|性别|电话" echo -e "\c" if [ ! -f ./record ];then touch record fi read NEWNAME #关于输出重定向,>代表覆盖式的写入 ,>>代表添加式的写入 echo "$NEWNAME" >>./record sort -o ./record ./record } #删除学生信息 delete() { clear echo -e "请输入需要删除学生信息的学号" read NUMBER if [ ! -f ./record ];then echo "此系统没有本学生" else cp record record.bak rm -f record grep -v "$NUMBER" ./record.bak > record rm -f record.bak fi } #显示所有的记录函数 display() { more ./record } #利用vim编辑器编辑函数 edit() { vim ./record } #屏幕帮助操作 help() { clear echo "这是使用shell脚本写的学生信息管理系统" } #退出程序 quit() { clear exit } clear while true do echo "*********************************************" 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
原文:https://www.cnblogs.com/loufangcheng/p/11820388.html