用linux shell定义一个函数收集用户输入的基本信息(姓名,性别,年龄),如不输入一直提示输入; 2.最后根据用户的年龄信息输出相对应的内容(少年,青年,中年,老年)
时间: 2024-02-18 22:04:57 浏览: 29
好的,我可以帮您解决这个问题。以下是一个示例代码:
```bash
#!/bin/bash
function collect_info() {
read -p "请输入您的姓名: " name
while [[ -z "$name" ]]; do
read -p "姓名不能为空,请重新输入: " name
done
read -p "请输入您的性别(男/女): " gender
while [[ "$gender" != "男" && "$gender" != "女" ]]; do
read -p "请输入正确的性别(男/女): " gender
done
read -p "请输入您的年龄: " age
while [[ ! "$age" =~ ^[0-9]+$ ]]; do
read -p "请输入正确的年龄: " age
done
if ((age < 18)); then
echo "您还是一个少年"
elif ((age < 35)); then
echo "您现在是一个青年"
elif ((age < 60)); then
echo "您现在是一个中年人"
else
echo "您现在是一个老年人"
fi
}
collect_info
```
以上代码定义了一个名为`collect_info`的函数,该函数会收集用户的基本信息,并根据年龄输出相应的内容。其中,使用`read`命令获取用户的输入,使用`while`循环确保用户输入的格式正确;使用正则表达式`^[0-9]+$`来匹配用户输入的年龄是否为数字。最后,使用`if`语句判断用户的年龄段,并输出相应的内容。
您可以将以上代码保存为一个脚本文件,例如`info_collect.sh`,并在终端中运行该脚本文件。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)