用linux shell定义一个函数收集用户输入的基本信息(姓名,性别,年龄),如不输入一直提示输入; 2.最后根据用户的年龄信息输出相对应的内容(少年,青年,中年,老年)
时间: 2024-02-18 07:04:28 浏览: 27
好的,下面是一个实现上述功能的Linux Shell脚本:
```shell
#!/bin/bash
# 定义函数collect_info用于收集用户输入的基本信息
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
}
# 调用collect_info函数收集用户信息
collect_info
# 根据用户的年龄输出相应的内容
if [ "$age" -lt 18 ]
then
echo "$name 您好,您是一位少年。"
elif [ "$age" -ge 18 ] && [ "$age" -lt 40 ]
then
echo "$name 您好,您是一位青年。"
elif [ "$age" -ge 40 ] && [ "$age" -lt 60 ]
then
echo "$name 您好,您是一位中年人。"
else
echo "$name 您好,您是一位老年人。"
fi
```
使用方法:
1. 将上述代码保存为一个文件,如collect_info.sh;
2. 执行`chmod +x collect_info.sh`将文件变为可执行文件;
3. 执行`./collect_info.sh`运行脚本。
脚本会提示用户输入基本信息,如果输入不符合要求会一直提示重新输入,直到输入正确为止。最后根据用户的年龄输出相应的内容。