shell命令的学生管理系统,有登录和注册功能,有增删查改输出全部学生信息的功能。
#!/bin/bash
#菜单目录
print_menu()
{
clear
echo "1.输出学生信息"
echo "2.录入学生信息"
echo "3.查询学生信息"
echo "4.删除学生信息"
echo "5.修改学生信息"
echo "0.退出系统"
}
#学生信息输出
do_output()
{
clear
echo "所有学生信息如下:"
more ./my.db
sleep 2
}
#按照学号搜索学生信息
do_search()
{
clear
echo "请输入需查找学生的学号:"
read id
grep -i "$id||" ./my.db
sleep 2
}
#输入学生信息(学号不能相同,学号唯一)
do_input()
{
clear
echo "输入学生信息(id name sex age tel)"
read id name sex age tel
grep -i "$id||" ./my.db>in.db
if [ ! -s in.db ];then
echo "$id||$name|$sex|$age|$tel">>my.db
else
echo "学号已存在,学号不能重复"
fi
}
#根据学号删除学生信息
do_delete()
{
clear
echo "请输入想删除学生信息的学号:"
read id
cp my.db my
rm -f my.db
grep -v "$id||" ./my>my.db
rm -f my
echo "删除成功"
sleep 2
}
#根据学号修改学生信息
do_amend()
{
echo "请输入想修改学生的学号:"
read id
grep -i "$id||" ./my.db
echo "请输入修改内容(完整全部的信息,学号不变)"
read name sex age tel
cp my.db amend
rm -f my.db
grep -v "$id||" ./amend>my.db
rm -f amend
echo "$id||$name|$sex|$age|$tel">>my.db
echo "修改成功"
sleep 2
}
login()
{
clear
echo "请输入用户名 "
read name
echo "请输入密码"
read pw
echo "$name@$pw">>ab.txt
echo "注册成功"
}
opearte()
{
print_menu
echo "请输入操作"
read val
case $val in
1)do_output;;
2)do_input;;
3)do_search;;
4)do_delete;;
5)do_amend;;
0)exit;;
esac
}
register()
{
clear
echo "请输入用户名"
read name
echo "请输入密码"
read pw
grep -i "$name@$pw" ./ab.txt>at.db
if [ ! -s at.db ];then
echo "密码或者用户名错误"
else
while true
do
opearte
done
fi
}
#登录菜单
menu()
{
echo "1.注册用户"
echo "2.登录系统"
echo "0.退出系统"
read val
case $val in
1)
login
;;
2)
register
;;
0)
exit
;;
esac
}
#死循环,不停的执行
menu
原文:https://www.cnblogs.com/1-2-3-4a/p/11863326.html