9. 编写shell脚本test09.sh实现如下功能,依次提示用户输入自己姓名和身份证号(输入指令:read -p),根据输入的内容生成info.txt储存在当前目录下mytest09目录中。Info.txt的格式如下图(红色部分为需要自动生成的内容)。姓名:张三 性别:男 年龄:21 住址山东省济南市
时间: 2024-03-29 16:40:46 浏览: 165
好的,我已经明白了你的问题。以下是 `test09.sh` 脚本的实现代码:
```shell
#!/bin/bash
# 提示用户输入姓名和身份证号
read -p "请输入您的姓名:" name
read -p "请输入您的身份证号:" id_card
# 从身份证号中提取年龄和住址信息
age=$(echo $(($(date +%Y)-${id_card:6:4})))
address=${id_card:0:6}
# 将信息写入 info.txt 文件
mkdir -p mytest09
echo "姓名:$name" > mytest09/info.txt
echo "性别:$(if [ ${id_card:16:1} -eq 1 ]; then echo "男"; else echo "女"; fi)" >> mytest09/info.txt
echo "年龄:$age" >> mytest09/info.txt
echo "住址:$(curl -s "http://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=$address&resource_id=6006" | awk -F '"' '{print $4}')" >> mytest09/info.txt
echo "信息已保存至 mytest09/info.txt"
```
脚本实现的功能:
1. 提示用户输入姓名和身份证号。
2. 从身份证号中提取出年龄和住址信息。
3. 使用 `mkdir -p` 命令创建 `mytest09` 目录(如果目录不存在)。
4. 将生成的个人信息以指定的格式写入 `info.txt` 文件,并保存到 `mytest09` 目录中。
5. 输出提示信息。
需要注意的是,住址信息是通过调用百度接口获取的,这里使用了 `curl` 和 `awk` 命令来提取接口返回的 JSON 数据中的地址信息。如果你的系统没有安装 `curl` 命令,需要先安装。
使用方法:
1. 将上述代码保存到 `test09.sh` 文件中。
2. 在终端中切换到 `test09.sh` 文件所在的目录。
3. 运行命令 `chmod +x test09.sh`,将脚本文件变为可执行文件。
4. 运行命令 `./test09.sh`,按照提示输入姓名和身份证号即可。
阅读全文