2168575 发表于 2018-8-28 06:36:39

shell脚本:简单的分数记录系统

#mcore.sh  
#!bin/bash
  

  
function colour()
  
{
  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
  
}
  

  
function search()
  
{
  colour black_white
  clear
  echo -e "please enter name >>>\c"
  read NAME
  if [ ! -f ./record ]; then
  echo "you must 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"
  read NAME
  fi
  

  grep -i "$NAME" ./record 2> /dev/null
  

  case "$?" in
  1)echo "Name not in record"
  ;;
  2) echo "you didin t enter a name to search"
  search;;
  esac
  
}
  

  
function 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
  
}
  

  
function delete()
  
{
  clear
  echo -m "please enter name >>\c"
  read NAME
  if [ ! -f ./record ];then
  echo "this name is not in record"
  else
  cp record record.bak
  rm -f record
  grep -v "$NAME" ./record.bak > record
  rm -f record.bak
  fi
  
}
  

  
function display()
  
{
  colour black_white
  more ./record
  
}
  

  
function edit()
  
{
  vi ./record
  
}
  

  
function help()
  
{
  clear
  colour black_cyan
  echo "this is a student s record program by lunix shell language"
  
}
  

  
function quit()
  
{
  clear
  colour black_white
  exit
  
}
  

  
clear
  

  
while true
  
do
  colour red_yellow
  echo "****************************************"
  echo "*STUDENT S RECORD MENU               *"
  echo "****************************************"
  colour yellow_blue
  echo "****************************************"
  echo "*1:search a record                     *"
  echo "*2:add a record                        *"
  echo "*3:delete a recore                     *"
  echo "*4:dispaly all records               *"
  echo "*5:edit record witm vi               *"
  echo "*H:help screen                         *"
  echo "*Q:exit program                        *"
  echo "****************************************"
  colour black_green
  echo -e -n "\tplease enter you choice 1--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]
查看完整版本: shell脚本:简单的分数记录系统