shell脚本学习DAY1 student.sh

#! /bin/bash
#sed -i 's/ 原字符串 / 替换字符串 /g' filename // 替换文件中的所有匹配项
#sed -i 's/\r$//' student.sh
#查询函数
search()
{
  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 didnt 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
}
 
#删除学生信息
delete()
{
  clear
  echo -e "Please enter delete name"
  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
}
 
#显示所有的记录函数
display()
{
  more ./record
}
 
#利用vim编辑器编辑函数
edit()
{
 vim ./record
}
 
#屏幕帮助操作
help()
{
 clear
 echo "this is a student record program by unix shell language!"
}
 
#退出程序
quit()
{
 clear
 exit
}
 
clear
while true
do
  echo "*********************************************"
  echo "****   student record menu  ****"
  echo "*********************************************"
  echo "---------------------------------------------"
  echo "#############################################"
  echo "    1-search a record    "
  echo "    2-add a record     "
  echo "    3-delete a record    "
  echo "    4-dispaly all records   "
  echo "    5-edit record with vim   "
  echo "    H-help       "
  echo "    Q-exit       "
  echo "#############################################"
  echo -e -n "Please enter your choice [1,2,3,4,5,6,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 "Invailid choice!";
  sleep 2;
  clear;;
  esac
 done

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值