shell模拟考勤程序(使用数据库sqlite3)
考勤程序通常需要数据库来存储学生的到勤记录。以下是一个使用SQLite3数据库的简单Shell脚本示例,用于模拟考勤程序:
#!/bin/bash
# 初始化SQLite数据库
db_file="attendance.db"
# 创建数据库和表(如果不存在的话)
sqlite3 $db_file <<EOF
.mode column
.header on
CREATE TABLE IF NOT EXISTS attendance (
id INTEGER PRIMARY KEY,
student_id TEXT,
present BOOLEAN
);
EOF
# 函数:记录学生的出勤状态
record_attendance() {
local student_id present
student_id="$1"
present="$2" # 1 表示出勤,0 表示缺勤
sqlite3 $db_file <<EOF
INSERT INTO attendance (student_id, present) VALUES ('$student_id', $present);
EOF
}
# 示例:记录两名学生的出勤情况
record_attendance "1001" 1
record_attendance "1002" 0
# 查询出勤记录
sqlite3 $db_file <<EOF
.mode column
.header on
SELECT * FROM attendance;
EOF
这个脚本首先会检查并创建一个SQLite数据库和一个名为attendance
的表。然后定义了一个函数record_attendance
来记录学生的出勤状态。最后,通过调用这个函数来记录两名学生的出勤情况,并打印出勤记录。
确保在运行脚本之前给予执行权限:
chmod +x attendance.sh
./attendance.sh
这个脚本是一个简单的示例,实际应用中可能需要更复杂的逻辑,例如处理用户输入、错误处理、异常情况的处理等。
评论已关闭