shell 编程实验--实现学生成绩管理系统

来源:互联网 发布:python 2.7.9 64位 编辑:程序博客网 时间:2024/05/22 07:43




主要函数:


colour ()    设置界面颜色

search ()  查询学生信息

add()         增加记录

delete()     删除记录

display()   显示所有记录

edit()         编辑

help()       帮助

quit()        退出



使用截图:

主界面



1、添加



2、显示全部


3、查找



4、删除

删除存在的人:


删除不存在的人:



5、显示全部



参考代码:

#!/bin/bash#colour 函数colour (){#格式为背景:前景m,主要实现屏幕颜色显示case $1 in black_white ) #背景为黑色,前景为白色echo -e "\033[40;37m";;black_green ) #背景为黑色,前景为绿色echo -e "\033[40;32m";;black_cyan ) #背景为黑色,前景为青色echo -e "\033[40;36m";;red_yellow ) #背景为红色,前景为黄色echo -e "\033[41;33m";;yellow_blue ) #背景为黄色,前景为蓝色echo -e "\033[43;34m";;esac}#查询函数search(){colour black_whiteclearecho -e "Please Enter Name >>>\c"read NAME# 如果无记录时if [ ! -f ./record ]; thenecho "You mush have some scores before you can search !"sleep 2clearreturnfi# 没有输入名字查询时候if [ -z "$NAME" ]; thenecho "You didn't enter a name!"echo -e "Please Enter Name >>>\c"fiecho "你查询的信息是: $NAME"grep   "$NAME" ./record 2> /dev/nullcase "$?" in1 ) echo "Name not in record.";;2 ) echo "You didn't enter a name to search."sleep 2search # 继续查询;;esac}#增加记录函数add(){clearecho "Enter name and score of a record."echo -e "\c"if [ ! -f ./record ]; thentouch recordfiread NEWNAMEecho "$NEWNAME" >> ./record# 排序后写回文件sort -o ./record ./recordecho "添加成功"sleep 2}#删除记录函数delete(){clearecho -e "Please Enter Name >>> "read NAMEif [ ! -f ./record ]; thenecho "记录为空请先添加!"elsecp record record.bakgrep "$NAME" ./record.bak > /dev/nullif [ $? != 0 ]; thenecho "此人不存在"else    # -v 表示 not    grep -v "$NAME" ./record.bak > record    echo "删除成功"firm -f record.bakfisleep 1}#显示所有记录display(){colour black_whitemore ./record}#利用vim编辑器编译edit(){vim ./record}#屏幕帮助函数help(){clearcolour black_cyanecho "This is a student's record program by!"}#退出程序quit(){clearcolour black_whiteexit}clearwhile :docolour red_yellowecho "***********************************************************"echo "*                  STUDENT'S RECORD MENU                  *"echo "***********************************************************"colour yellow_blueecho "###########################################################"echo "#                       1. 查找                           #"echo "#                       2. 添加                           #"echo "#                       3. 删除                           #"echo "#                       4. 显示全部                       #"echo "#                       5. 编辑记录                       #"echo "#                       H: Help Screen                    #"echo "#                       Q: Exit Program                   #"echo "###########################################################"colour black_greenecho -e -n "  Please Enter Your Choice [1, 2, 3, 4, 5, H, Q]:\c"read choicecase $choice in1 ) search;;2 ) add; clear;;3 ) delete; clear;;4 ) display;;5 ) edit; clear;;H | h ) help;;Q | q ) quit;;* ) echo "Invalid Choice !"sleep 2clear;;esacdone

总结:

1、sort -o  file file 可以将本文件排序后再写回

2、grep -v  "string"  file 可以将除string 之外的信息过滤出来  

3、进一步熟悉流程控制函数等概念。