#!/bin/bash
#增加记录函数
add()
{
clear
echo -e "\033[34m \n—— 请输入姓名和成绩: \c\033[0m"
read NEWNAME
# 没有输入名字查询时候
if [ -z "$NEWNAME" ]; then
echo -e "\033[31m\n—— 还未输入姓名!——\033[0m"
echo -e "\033[34m \n—— 请输入姓名: \c\033[0m"
read NEWNAME
fi
grep "\" ./xinxi > /dev/null
if [ $? = 0 ]; then
echo -e "\033[31m\n\n\n\n\n—— 添加失败,此人已存在!——\033[0m"
else
echo "$NEWNAME" >> ./xinxi
# 排序后写回文件
sort -o ./xinxi ./xinxi
echo -e "\033[32m\n\n\n\n\n—— 添加成功 ——\033[0m"
fi
sleep 2
}
#删除记录函数
delete()
{
clear
if [ ! -f ./xinxi ]; then
echo -e "\033[31m\n—— 删除失败!原信息为空,无信息可删除!—— \033[0m"
sleep 2
clear
return
fi
echo -e "\033[34m\n—— 请输入要删除的学生的姓名:\c\033[0m"
read NAME
# 没有输入名字查询时候
if [ -z "$NAME" ]; then
echo -e "\033[31m\n—— 还未输入姓名!——\033[0m"
echo -e "\033[34m\n—— 请输入姓名: \c\033[0m"
read NAME
fi
cp xinxi xinxi.bak
grep "\" ./xinxi.bak > /dev/null
if [ $? != 0 ]; then
echo -e "\033[31m\n\n\n\n\n—— 此人本不存在,删除失败 ——\033[0m"
else
grep -v "\" ./xinxi.bak > xinxi
echo -e "\033[32m\n\n\n\n\n—— $NAME的信息删除成功! ——\033[0m"
fi
rm -f xinxi.bak
sleep 2
}
#查询函数
search()
{
clear
#检查文件是否有意义
if [ ! -f ./xinxi ]; then
echo -e "\033[31m\n—— 查询失败!未曾输入信息,无信息可查询!——\n\033[0m"
sleep 2
clear
return
fi
echo -e "\033[34m \n—— 请输入姓名: \c\033[0m"
read NAME
# 没有输入名字查询时候
if [ -z "$NAME" ]; then
echo -e "\033[31m\n—— 还未输入姓名!——\033[0m"
echo -e "\033[34m\n—— 请输入姓名: \c\033[0m"
read NAME
fi
echo -e "\n———————————————————查询结果————————————————————\n"
grep "\" ./xinxi 2> /dev/null
if [ $? != 0 ]; then
echo -e "\033[31m\n\n\n\n\n—— 查无此人——\033[0m"
fi
echo -e "\n———————————————————————————————————————————————\n\n"
}
#显示所有记录
display()
{
clear
if [ ! -f ./xinxi ]; then
echo -e "\033[31m\n—— 显示失败!原信息为空,无信息可显示!——\033[0m "
sleep 2
clear
return
fi
echo -e "\n———————————————————学生信息————————————————————\n"
cat ./xinxi
echo -e "\n———————————————————————————————————————————————\n\n"
}
#利用vim编辑器编译
edit()
{
clear
vim ./xinxi
}
#退出程序
quit()
{
clear
exit
}
clear
while :
do
echo "————————————菜单选项———————————"
echo "| 1. 增加学生信息 |"
echo "| 2. 删除学生信息 |"
echo "| 3. 查询学生信息 |"
echo "| 4. 显示全部信息 |"
echo "| 5. 批量修改信息 |"
echo "| 0: 退出系统 |"
echo "———————————————————————————————"
echo -e -n "\033[34m—— 请选择选项: \c \033[0m"
read choice
case $choice in
1 ) add; clear
;;
2 ) delete; clear
;;
3 ) search
;;
4 ) display
;;
5 ) edit; clear
;;
0 ) quit
;;
* ) echo "\033[31m—— 输入选择错误,请重新输入! ——\033[0m"
sleep 2
clear
;;
esac
done
一键复制
编辑
Web IDE
原始数据
按行查看
历史