shell学生成绩管理系统

在这里插入图片描述
主要函数:
colour () 设置界面颜色
search () 查询学生信息
add() 增加记录
delete() 删除记录
display() 显示所有记录
edit() 编辑
help() 帮助
quit() 退出

#!/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_white 
 clear
 echo -e "Please Enter Name >>>\c"
 read NAME 
 # 如果无记录时 
 if [ ! -f ./record ]; then
  echo "You mush have some scores before you can search !"
  sleep 2 
  clear
  return
 fi
  
 # 没有输入名字查询时候 
 if [ -z "$NAME" ]; then
  echo "You didn't enter a name!"
  echo -e "Please Enter Name >>>\c"
 fi
 echo "你查询的信息是: $NAME"
  
   
 grep "$NAME" ./record 2> /dev/null
   
 case "$?" in
  1 ) echo "Name not in record."
   ;; 
  2 ) echo "You didn't enter a name to search."
   sleep 2 
   search # 继续查询 
   ;; 
 esac 
} 
  
#增加记录函数 
add() 
{ 
 clear
 echo "Enter name and score of a record."
 echo -e "\c"
  
 if [ ! -f ./record ]; then
  touch record 
 fi
  
 read NEWNAME 
 echo "$NEWNAME" >> ./record
  
 # 排序后写回文件 
 sort -o ./record ./record
 echo "添加成功"
 sleep 2 
} 
  
  
#删除记录函数 
delete() 
{ 
 clear
 echo -e "Please Enter Name >>> "
 read NAME 
  
 if [ ! -f ./record ]; then
  echo "记录为空请先添加!"
 else
  cp record record.bak 
  
  grep "$NAME" ./record.bak > /dev/null
  if [ $? != 0 ]; then
   echo "此人不存在"
  else
   # -v 表示 not 
   grep -v "$NAME" ./record.bak > record 
   echo "删除成功"
  fi
  rm -f record.bak 
 fi
 sleep 1 
} 
  
#显示所有记录 
display() 
{ 
 colour black_white 
 more ./record
} 
  
#利用vim编辑器编译 
edit() 
{ 
 vim ./record
} 
  
#屏幕帮助函数 
help() 
{ 
 clear
 colour black_cyan 
 echo "This is a student's record program by!"
} 
  
#退出程序 
quit() 
{ 
 clear
 colour black_white 
 exit
} 
  
clear
while : 
do
 colour red_yellow 
 echo "***********************************************************"
 echo "*     STUDENT'S RECORD MENU     *"
 echo "***********************************************************"
 colour yellow_blue 
 echo "###########################################################"
 echo "#      1. 查找       #"
 echo "#      2. 添加       #"
 echo "#      3. 删除       #"
 echo "#      4. 显示全部      #"
 echo "#      5. 编辑记录      #"
 echo "#      H: Help Screen     #"
 echo "#      Q: Exit Program     #"
 echo "###########################################################"
  
 colour black_green 
 echo -e -n " Please Enter Your Choice [1, 2, 3, 4, 5, H, Q]:\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 "Invalid Choice !"
   sleep 2 
   clear
   ;; 
 esac 
done
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值