LINUX
Linux操作系统
Linux下基于shell脚本实现学生信息管理系统
#该管理系统是参考两位博主(时间有点远了,我忘了,请博主看到后联系我)后自行修改添加的。登录过程还有很多不完善,我就抛砖引玉啦。
废话不多,直接上码!
#!/bin/bash
# 学生管理系统
# @version 1.0
#设置全局变量
##学生信息和学院信息
#学院相关变量
school_num=""
school_name=""
#学生相关变量
stu_num=""
stu_name=""
stu_des=""
#成绩相关变量
course=""
score=""
score_des=""
#用户账户信息
user_name=""
user_passwd=""
##数据文件存放路径
source_dir="./source"
schools_db="./source/schools.db"
students_db="./source/students.db"
scores_db="./source/scores.db"
user_db="./source/user.db"
#创建数据文件
mkdir_sourcedir(){
if [ ! -d $source_dir ];then
mkdir -p $source_dir
fi
if [ ! -f $schools_db ];then
touch $schools_db
fi
if [ ! -f $students_db ];then
touch $students_db
fi
if [ ! -f $scores_db ];then
touch $scores_db
fi
if [ ! -f $user_db ];then
touch $user_db
fi
}
create_user(){
read -p "请输入你的用户名:" user_name
cat file | grep $user_name &>/dev/null
[ $? -eq 0 ] && echo "这个用户已经存在,请重新创建!" && create_user
if [ -z $user_name ];then
echo "该用户可创建" && create_user
fi
read -p "请输入密码:" user_passwd
read -p "请再次输入密码:" passwd1
if [[ "$user_passwd" != "$passwd1" ]] ;then
echo "密码验证不正确,请重新创建" && create_user
fi
if [ ! -z "$user_passwd" ];then
echo "$user_name "$user_passwd" " >>file
echo "创建成功!,按任意键将跳转到登录界面..."
fi
if [ -z "$user_passwd" ];then
echo "$user_name " " " >>file
echo "创建成功!,按任意键将跳转到登录界面..."
fi
clear
read choice
case $choice in
*)
login
;;
esac
}
login(){
read -p "请输入用户名:" user_name
a="`cat file | awk '$1=="'$user_name'"'|cut -d ' ' -f2-`"
b=`echo "$a" | sed 's/ //g'`
cat file | awk '$1=="'$user_name'"' &> /dev/null
if [ $? -eq 0 ];then
read -p "请输入你的密码:" user_passwd
c=`echo $user_passwd | sed 's/ //g'`
if [[ "$b" = "$c" ]];then
echo "登录成功!"
else
echo "密码验证不正确,请选择 1. 重新创建 2. 重新登录 3. 退出系统"
clear
read choice
case $choice in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
esac
fi
else
echo "该用户不存在,请选择 1. 重新创建 2. 重新登录 3. 退出系统"
#create_user
clear
read choice
case $choice in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
esac
fi
Welcome
}
haha(){
case $main in
1)
create_user
;;
2)
login
;;
3)
exit 0
;;
esac
}
cat << EOF
************请选择:**************
1) 创建用户
2) 直接登录
3) 退出
EOF
read -p "Choice:" main
# 主函数
Welcome()
{
# reset
mkdir_sourcedir #数据文件不存在则创建
echo -e "ttt--------------------------"
echo -e "ttt 欢迎进入学生管理系统"
echo -e "ttt--------------------------"
echo -e "ttt 按任意键继续……"
read choice
case $choice in
*)
Module
;;
esac
}
#模块选择
Module(){
clear
echo -e "ttt**********************"
echo -e "ttt请输入对应数字选择信息模块"
echo -e "ttt 1. 学院信息管理"
echo -e "ttt 2. 学生信息管理"
echo -e "ttt 3. 成绩信息管理"
echo -e "ttt 4. 退出系统"
read choice
case $choice in
1)
Menu1
;;
2)
Menu2
;;
3)
Menu3
;;
4)
exit 0
;;
*)
Module
;;
esac
}
###############
#学院信息模块功能实现
###############
#学院信息模块菜单
Menu1(){
clear
echo -e "ttt****************************"
echo -e "ttt请输入对应数字选择功能"
echo -e "ttt 1. 添加学院"
echo