编写一个Shell scripts,要求根据屏幕提示输入用户名和密码,如果用户名和密码正确用户名和密码以文件的形式保存在当前目录下,每行为一个用户的用户名和密码,格式如下图所示。则在屏幕上打印“欢迎您,XXX先生/女士”。否则显示“用户名或密码错误!”后退出。
时间: 2024-02-05 18:14:29 浏览: 87
以下是一个简单的Shell脚本,可以实现您的需求:
```
#!/bin/bash
# 提示用户输入用户名和密码
read -p "请输入用户名:" username
read -s -p "请输入密码:" password
echo
# 检查用户名和密码是否正确
if [ "$username" == "admin" ] && [ "$password" == "123456" ]; then
# 在当前目录下创建文件并保存用户名和密码
echo "$username $password" > login.txt
# 打印欢迎信息
echo "欢迎您,$username 先生/女士!"
else
# 打印错误信息并退出
echo "用户名或密码错误!"
exit 1
fi
```
在上面的脚本中,我们使用了`read`命令来提示用户输入用户名和密码,其中`-s`选项可以让用户输入密码时不显示输入内容。然后我们使用`if`语句来检查用户名和密码是否正确,如果正确则将用户名和密码保存在`login.txt`文件中,并打印欢迎信息。如果不正确则打印错误信息并使用`exit`命令退出脚本。
相关问题
编写一个Shell scripts,要求根据屏幕提示输入用户名和密码,如果用户名和密码正确(用户名是Linux,密码是123456),用户名和密码以文件的形式保存在当前目录下,每行为一个用户的用户名和密码,格式正确,则在屏幕上打印“欢迎您,Linux先生/女士”。否则显示“用户名或密码错误!”
以下是一个简单的Shell脚本,可以实现您的需求:
```
#!/bin/bash
echo "请输入用户名:"
read username
echo "请输入密码:"
read password
if [[ $username == "Linux" && $password == "123456" ]]; then
echo "$username $password" >> userinfo.txt
echo "欢迎您,Linux先生/女士"
else
echo "用户名或密码错误!"
fi
```
脚本会提示用户输入用户名和密码,然后将输入的用户名和密码与预设的值进行比较。如果相等,则将用户名和密码写入一个名为 `userinfo.txt` 的文件中,并输出欢迎信息。否则,输出错误信息。
8. 编写一个Shell scripts,要求根据屏幕提示输入用户名和密码,如果用户名和密码正确(用户名和密码以文件的形式保存在当前目录下,每行为一个用户的用户名和密码,格式如下图所示)。则在屏幕上打印“欢迎您,XXX先生/女士”。否则显示“用户名或密码错误!”后退出。
假设用户名和密码保存在文件`users.txt`中,每行格式为`username:password`,可以使用如下的Shell脚本实现:
```sh
#!/bin/bash
echo "请输入用户名:"
read username
echo "请输入密码:"
read -s password # -s选项表示输入密码时不回显
# 从文件中读取所有的用户名和密码
users=$(cat users.txt)
# 遍历每个用户
for user in $users; do
# 分割出用户名和密码
u=$(echo $user | cut -d: -f1)
p=$(echo $user | cut -d: -f2)
# 如果用户名和密码匹配,则输出欢迎信息并退出脚本
if [[ "$username" == "$u" && "$password" == "$p" ]]; then
echo "欢迎您,${u}先生/女士"
exit 0
fi
done
# 如果没有匹配的用户,则输出错误信息并退出脚本
echo "用户名或密码错误!"
exit 1
```
在这个脚本中,首先提示用户输入用户名和密码,并从文件`users.txt`中读取所有的用户名和密码。然后遍历每个用户,如果用户名和密码匹配,则输出欢迎信息并退出脚本。否则,如果没有匹配的用户,则输出错误信息并退出脚本。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)