用shell编写一个学生信息管理系统
时间: 2023-08-24 19:06:31 浏览: 70
好的,我可以为你提供一个简单的学生信息管理系统的示例代码,使用Shell语言编写。
```shell
#!/bin/bash
# 定义学生信息存储文件
data_file="./students.txt"
# 检查学生信息存储文件是否存在,不存在则创建
if [[ ! -f "$data_file" ]]; then
touch "$data_file"
fi
# 添加学生信息
function add_student() {
echo "请输入学生姓名:"
read name
echo "请输入学生学号:"
read id
echo "请输入学生性别:"
read gender
echo "请输入学生年龄:"
read age
# 将学生信息添加到存储文件中
echo "$name $id $gender $age" >> "$data_file"
echo "添加成功!"
}
# 查询学生信息
function query_student() {
echo "请输入要查询的学生姓名:"
read name
# 在存储文件中查找指定学生信息
result=$(grep "$name" "$data_file")
# 输出查询结果
if [[ -n "$result" ]]; then
echo "$result"
else
echo "没有找到该学生的信息。"
fi
}
# 删除学生信息
function delete_student() {
echo "请输入要删除的学生姓名:"
read name
# 在存储文件中查找指定学生信息
result=$(grep "$name" "$data_file")
# 输出查询结果并删除学生信息
if [[ -n "$result" ]]; then
sed -i "/$name/d" "$data_file"
echo "删除成功!"
else
echo "没有找到该学生的信息。"
fi
}
# 修改学生信息
function modify_student() {
echo "请输入要修改的学生姓名:"
read name
# 在存储文件中查找指定学生信息
result=$(grep "$name" "$data_file")
# 输出查询结果并修改学生信息
if [[ -n "$result" ]]; then
echo "该学生的信息为:$result"
echo "请输入新的学生姓名:"
read new_name
echo "请输入新的学生学号:"
read new_id
echo "请输入新的学生性别:"
read new_gender
echo "请输入新的学生年龄:"
read new_age
sed -i "s/$name.*/$new_name $new_id $new_gender $new_age/" "$data_file"
echo "修改成功!"
else
echo "没有找到该学生的信息。"
fi
}
# 显示学生信息
function show_students() {
# 输出所有学生的信息
cat "$data_file"
}
# 主程序
while true; do
echo "学生信息管理系统"
echo "1. 添加学生信息"
echo "2. 查询学生信息"
echo "3. 删除学生信息"
echo "4. 修改学生信息"
echo "5. 显示所有学生信息"
echo "6. 退出"
read choice
case "$choice" in
1) add_student;;
2) query_student;;
3) delete_student;;
4) modify_student;;
5) show_students;;
6) exit;;
*) echo "无效的选项,请重新输入。";;
esac
done
```
该脚本实现了以下功能:
1. 添加学生信息;
2. 查询学生信息;
3. 删除学生信息;
4. 修改学生信息;
5. 显示所有学生信息。
你可以根据需要进行修改和扩展。
阅读全文