linux中shell脚本登录注册案例
时间: 2024-01-19 13:42:36 浏览: 25
以下是一个简单的登录注册案例的Shell脚本:
```bash
#!/bin/bash
# 登录注册案例
# 定义用户信息文件,每行格式为:用户名:密码
USER_FILE=./user_info.txt
# 注册函数
function register() {
echo -n "请输入用户名: "
read username
# 检查用户名是否已经存在
if grep -q "^$username:" $USER_FILE; then
echo "用户名已存在!"
return 1
fi
echo -n "请输入密码: "
read password
# 将用户名和密码写入用户信息文件
echo "$username:$password" >> $USER_FILE
echo "注册成功!"
return 0
}
# 登录函数
function login() {
echo -n "请输入用户名: "
read username
# 检查用户名是否存在
if ! grep -q "^$username:" $USER_FILE; then
echo "用户名不存在!"
return 1
fi
echo -n "请输入密码: "
read password
# 验证密码是否正确
if ! grep -q "^$username:$password$" $USER_FILE; then
echo "密码不正确!"
return 1
fi
echo "登录成功!"
return 0
}
# 主函数
function main() {
while true; do
echo "请选择操作:"
echo "1. 注册"
echo "2. 登录"
echo "3. 退出"
read choice
case $choice in
1) register;;
2) login;;
3) break;;
*) echo "无效的选择!";;
esac
done
}
# 运行主函数
main
```
脚本中定义了一个用户信息文件`USER_FILE`,每行格式为`用户名:密码`。注册函数`register`会检查输入的用户名是否已经存在,如果不存在则将用户名和密码写入用户信息文件。登录函数`login`会先检查输入的用户名是否存在,再验证密码是否正确。主函数`main`提供了注册、登录、退出三个选项,并通过`read`命令读取用户的选择。最后通过`case`语句来执行相应的函数。