学员管理系统 shell脚本 需要判断用户输入姓名和密码是否正确
时间: 2023-10-10 20:10:56 浏览: 82
可以参考以下的示例代码:
```shell
#!/bin/bash
# 定义用户名和密码
username="admin"
password="123456"
# 提示用户输入用户名和密码
read -p "请输入用户名:" input_username
read -s -p "请输入密码:" input_password
echo
# 判断用户名和密码是否正确
if [ "$input_username" = "$username" ] && [ "$input_password" = "$password" ]; then
echo "登录成功!"
else
echo "用户名或密码错误!"
fi
```
在这个示例中,我们首先定义了用户名和密码,然后使用 `read` 命令提示用户输入用户名和密码。`-s` 参数可以隐藏输入的密码,增加安全性。接着使用 `if` 语句判断输入的用户名和密码是否正确,如果正确则输出登录成功,否则输出用户名或密码错误。
相关问题
学员管理系统(包含判断用户是否合同)shell脚本
以下是一个简单的学员管理系统 shell 脚本,包含判断用户是否合同的功能:
```bash
#!/bin/bash
# 用户信息存储文件
USER_FILE="users.txt"
# 检查用户是否存在
function check_user_exists() {
if grep -q "^$1:" "$USER_FILE"; then
return 0
else
return 1
fi
}
# 添加用户
function add_user() {
# 获取用户信息
echo "请输入用户信息:"
read -p "用户名:" username
read -p "密码:" password
read -p "是否有合同(Y/N):" has_contract
# 检查用户是否已存在
if check_user_exists "$username"; then
echo "用户已存在"
return 1
fi
# 写入用户信息到文件
echo "$username:$password:$has_contract" >> "$USER_FILE"
echo "添加用户成功"
}
# 删除用户
function delete_user() {
# 获取用户名
read -p "请输入要删除的用户名:" username
# 检查用户是否存在
if ! check_user_exists "$username"; then
echo "用户不存在"
return 1
fi
# 删除用户信息
sed -i "/^$username:/d" "$USER_FILE"
echo "删除用户成功"
}
# 修改用户密码
function change_password() {
# 获取用户名和新密码
read -p "请输入用户名:" username
read -p "请输入新密码:" new_password
# 检查用户是否存在
if ! check_user_exists "$username"; then
echo "用户不存在"
return 1
fi
# 修改密码
sed -i "s/^$username:[^:]*:/&$new_password:/" "$USER_FILE"
echo "修改密码成功"
}
# 判断用户是否有合同
function check_contract() {
# 获取用户名
read -p "请输入用户名:" username
# 检查用户是否存在
if ! check_user_exists "$username"; then
echo "用户不存在"
return 1
fi
# 获取用户信息
user_info=$(grep "^$username:" "$USER_FILE")
# 判断用户是否有合同
if echo "$user_info" | grep -q ":Y$"; then
echo "用户有合同"
return 0
else
echo "用户没有合同"
return 1
fi
}
# 主菜单
function main_menu() {
while true; do
echo "请选择操作:"
echo "1. 添加用户"
echo "2. 删除用户"
echo "3. 修改密码"
echo "4. 判断用户是否有合同"
echo "5. 退出"
read choice
case $choice in
1)
add_user
;;
2)
delete_user
;;
3)
change_password
;;
4)
check_contract
;;
5)
exit 0
;;
*)
echo "无效的选择"
;;
esac
done
}
# 启动程序
main_menu
```
在上述脚本中,我们通过 `grep` 命令来检查用户是否存在,并且在添加用户和修改密码时,使用了 `sed` 命令来修改用户信息文件。在判断用户是否有合同时,我们使用了 `grep` 命令来查找用户信息中是否包含 ":Y",来判断用户是否有合同。
阅读全文