shell编写一个登录校验脚本,返回登录用户名与密码是否正确 要求: 1)提示输入用户名、密码 2)用户输入信息后,与预先设定信息进行比较判断。输出登录成功、失败等提示信息。 3)程序最后输出自己的姓名、学号
时间: 2024-03-19 11:43:40 浏览: 17
好的,下面是一个 Shell 脚本实现上述要求:
```bash
#!/bin/bash
# 定义预设的用户名和密码
declare -A users=( ["user1"]="password1" ["user2"]="password2" ["user3"]="password3" )
# 提示用户输入用户名和密码
read -p "请输入用户名:" username
read -p "请输入密码:" password
# 比较用户名和密码是否正确
if [[ ${users[$username]} == $password ]]; then
echo "登录成功!"
else
echo "登录失败!用户名或密码不正确。"
fi
# 输出姓名和学号
echo "姓名:XXX,学号:XXX"
```
这个脚本使用了 Bash 的关联数组来存储预设的用户名和密码。在用户输入用户名和密码后,通过判断数组中对应的值是否等于密码来判断登录是否成功。最后,输出姓名和学号。
需要注意的是,这个脚本需要在支持 Bash 的 Shell 环境中运行。另外,如果用户名和密码比较多,可以将它们保存在一个文件中,然后在脚本中读取。
相关问题
在shell中、编写一个登录校验脚本,返回登录用户名与密码是否正确 要求: 1)提示输入用户名、密码 2)用户输入信息后,与预先设定信息进行比较判断。输出登录成功、失败等提示信息。 3)程序最后输出自己的姓名、学号
好的,以下是一个简单的Shell脚本,可以实现登录校验的功能:
```shell
#!/bin/bash
# 预设用户名和密码
username="user"
password="pass"
# 提示输入用户名和密码
read -p "请输入用户名: " input_username
read -p "请输入密码: " input_password
# 判断输入的用户名和密码是否与预设值相同
if [ "$input_username" == "$username" ] && [ "$input_password" == "$password" ]; then
echo "登录成功!"
else
echo "用户名或密码错误,请重新输入。"
fi
# 输出姓名和学号
echo "姓名:Your Name"
echo "学号:Your Student ID"
```
你可以将用户名和密码改为你自己的,也可以将姓名和学号改为你自己的信息。将以上脚本保存为一个文件(比如login.sh),然后在终端中执行以下命令:
```shell
bash login.sh
```
即可运行脚本,进行登录校验。
编写shell脚本,利用for循环结构、if结构判断用户名、密码是否输入正确,最多可输入三次
以下是一个简单的 Shell 脚本示例,通过 for 循环和 if 结构来判断用户名和密码是否正确,最多可输入三次:
```shell
#!/bin/bash
for ((i=1; i<=3; i++))
do
echo "请输入用户名:"
read username
echo "请输入密码:"
read password
if [ "$username" == "admin" ] && [ "$password" == "123456" ]
then
echo "登录成功!"
exit
else
echo "用户名或密码错误,请重新输入!"
fi
done
echo "登录失败,已超过最大尝试次数!"
```
解释一下脚本的具体实现:
- 使用 for 循环来控制最多输入三次的限制;
- 使用 read 命令来获取用户输入的用户名和密码;
- 使用 if 结构来判断用户名和密码是否正确,如果正确则退出脚本,否则输出错误提示;
- 如果超过最大尝试次数仍未成功登录,则输出登录失败的提示信息。
注意:该脚本仅仅是一个简单的示例,实际情况中应该采用更加严密的安全措施,比如加密处理、数据库存储等。