编写shell脚本test09.sh实现如下功能,依次提示用户输入自己姓名和身份证号(输入指令:read -p),根据输入的内容生成info.txt储存在当前目录下mytest09目录中。Info.txt的格式如下图(张三 男 21 济南市需要自动生成的内容)。姓名:张三 性别:男 年龄:21 住址山东省济南市
时间: 2024-03-26 17:40:30 浏览: 49
好的,以下是实现该功能的 shell 脚本 test09.sh:
```bash
#!/bin/bash
# 提示用户输入姓名和身份证号
read -p "请输入您的姓名:" name
read -p "请输入您的身份证号:" idcard
# 解析身份证号获取性别和年龄信息
gender=$(echo $idcard | cut -c 17)
if [ $((gender % 2)) -eq 0 ]; then
sex="女"
else
sex="男"
fi
birth_year=$(echo $idcard | cut -c 7-10)
birth_month=$(echo $idcard | cut -c 11-12)
birth_day=$(echo $idcard | cut -c 13-14)
current_year=$(date +%Y)
current_month=$(date +%m)
current_day=$(date +%d)
if [ $current_month -gt $birth_month ] || [ $current_month -eq $birth_month -a $current_day -ge $birth_day ]; then
age=$((current_year - birth_year))
else
age=$((current_year - birth_year - 1))
fi
# 生成 info.txt 文件
mkdir -p mytest09
info_file="mytest09/info.txt"
echo "姓名:$name" > $info_file
echo "性别:$sex" >> $info_file
echo "年龄:$age" >> $info_file
echo "住址:山东省济南市" >> $info_file
echo "已生成 $info_file 文件!"
```
脚本执行时会提示用户输入姓名和身份证号,然后解析身份证号获取性别和年龄信息,最后生成 info.txt 文件并保存在当前目录下 mytest09 目录中。
阅读全文