用shell脚本实现一个学生项目课题信息管理系统
时间: 2023-07-12 14:05:29 浏览: 100
这个问题比较大,需要分步骤来实现。
1. 创建学生项目课题信息管理系统的数据库
可以使用MySQL等数据库管理系统,创建一个名为"project_info"的数据库,其中包括以下两个表:
- student_info: 学生信息表,包括学生姓名、学号、专业等字段。
- project_list: 课题列表,包括课题名称、指导老师、选题状态等字段。
2. 编写Shell脚本
创建一个名为"project_manage.sh"的Shell脚本文件,包括以下功能:
- 添加学生信息:输入学生信息后,将学生信息添加到student_info表中。
- 添加课题信息:输入课题信息后,将课题信息添加到project_list表中。
- 查看学生信息:可以按照学生姓名或学号进行查找,输出学生信息。
- 查看课题信息:可以按照课题名称或指导老师进行查找,输出课题信息。
- 修改选题状态:可以输入学生学号和课题名称,修改选题状态。
- 删除学生信息:可以输入学生学号,删除该学生信息。
- 删除课题信息:可以输入课题名称,删除该课题信息。
3. 实现Shell脚本
以下是一个简单的示例代码:
```
#!/bin/bash
# 添加学生信息
function add_student_info() {
echo "请输入学生姓名:"
read name
echo "请输入学生学号:"
read id
echo "请输入学生专业:"
read major
mysql -u root -p -e "INSERT INTO student_info (name, id, major) VALUES ('$name', '$id', '$major')" project_info
echo "添加成功!"
}
# 添加课题信息
function add_project_info() {
echo "请输入课题名称:"
read name
echo "请输入指导老师:"
read teacher
echo "请输入选题状态(0表示未选,1表示已选):"
read status
mysql -u root -p -e "INSERT INTO project_list (name, teacher, status) VALUES ('$name', '$teacher', '$status')" project_info
echo "添加成功!"
}
# 查看学生信息
function show_student_info() {
echo "请输入要查找的学生信息(姓名或学号):"
read keyword
mysql -u root -p -e "SELECT * FROM student_info WHERE name LIKE '%$keyword%' OR id LIKE '%$keyword%'" project_info
}
# 查看课题信息
function show_project_info() {
echo "请输入要查找的课题信息(名称或指导老师):"
read keyword
mysql -u root -p -e "SELECT * FROM project_list WHERE name LIKE '%$keyword%' OR teacher LIKE '%$keyword%'" project_info
}
# 修改选题状态
function update_project_status() {
echo "请输入学生学号:"
read id
echo "请输入课题名称:"
read name
echo "请输入新的选题状态(0表示未选,1表示已选):"
read status
mysql -u root -p -e "UPDATE project_list SET status='$status' WHERE name='$name' AND id='$id'" project_info
echo "修改成功!"
}
# 删除学生信息
function delete_student_info() {
echo "请输入要删除的学生学号:"
read id
mysql -u root -p -e "DELETE FROM student_info WHERE id='$id'" project_info
echo "删除成功!"
}
# 删除课题信息
function delete_project_info() {
echo "请输入要删除的课题名称:"
read name
mysql -u root -p -e "DELETE FROM project_list WHERE name='$name'" project_info
echo "删除成功!"
}
# 主菜单
while true
do
echo "欢迎使用学生项目课题信息管理系统"
echo "1. 添加学生信息"
echo "2. 添加课题信息"
echo "3. 查看学生信息"
echo "4. 查看课题信息"
echo "5. 修改选题状态"
echo "6. 删除学生信息"
echo "7. 删除课题信息"
echo "0. 退出系统"
echo "请输入功能编号:"
read option
case $option in
1)
add_student_info
;;
2)
add_project_info
;;
3)
show_student_info
;;
4)
show_project_info
;;
5)
update_project_status
;;
6)
delete_student_info
;;
7)
delete_project_info
;;
0)
exit 0
;;
*)
echo "输入有误,请重新输入!"
;;
esac
done
```
注意:以上示例代码仅供参考,实际应用中还需要进行输入合法性判断、错误处理等。
阅读全文