编写一个shell脚本,实现一个简单的学生成绩管理系统,包括以下功能:
添加学生信息(姓名,成绩)。
显示所有学生信息。
根据学生姓名查询成绩。
计算平均成绩
#!/bin/bash
# 学生信息存储位置 填写你自己需要存储的位置,我这里的位置是/root/yunshell/studentinfo.txt
STUDENTINFO=/root/yunshell/studentinfo.txt
# 学生信息存储函数
function save_student(){
NAME=$1
SCORE=$2
echo "$NAME, $SCORE"
}
# 展示学生信息函数
function show(){
echo "------------------------------------------"
cat $STUDENTINFO
echo "------------------------------------------"
}
# 根据学生名字查询学生信息函数
function show_by_name(){
echo "------------------------------------------"
NAME=$1
grep $NAME $STUDENTINFO
echo "------------------------------------------"
}
# 计算学生平均成绩的函数
function cal_avg(){
TOTAL=0
COUNT=0
while IFS="," read -r NAME SCORE;do
TOTAL=$[$TOTAL + $SCORE]
COUNT=$[$COUNT + 1]
done < $STUDENTINFO
avg=$[$TOTAL / $COUNT]
echo "平均成绩为:$avg"
}
# 展示
while true;
do
echo "****************学生管理系统***************"
echo "*1-添加学生 2-显示学生信息 *"
echo "*3-查询学生 4-计算平均成绩 *"
echo "*5-退出 *"
echo "******************************************"
read -p "请做出你的选择:" choice
case $choice in
1)
read -p "请输入学生的姓名:" NAME
read -p "请输入学生的成绩:" SCORE
save_student $NAME $SCORE
;;
2)
show
;;
3)
read -p "请输入要查询的学生名字:" NAME
show_by_name $NAME
;;
4)
cal_avg
;;
5)
echo "退出学生管理系统"
break
;;
*)
echo "输入参数错误"
;;
esac
done