Shell脚本中查询天气信息

简介: Shell脚本中查询天气信息,

在Shell脚本中查询天气信息,可以使用curl或wget等命令从在线气象服务获取数据,并根据返回的数据解析和显示当前城市的天气状况。以下是一个简单的示例,使用OpenWeatherMap API查询天气:

  1. 注册并获取API密钥

  2. 编写Shell脚本

    • 创建一个新的文件(如weather.sh),并将以下代码粘贴到其中:
#!/bin/bash

# OpenWeatherMap API相关参数
api_key="your_api_key"
city_name="New York" # 替换为你要查询的城市名称
units="metric" # 可选:metric (摄氏度) 或 imperial (华氏度)

# 构建请求URL
url="http://api.openweathermap.org/data/2.5/weather?q=${city_name}&appid=${api_key}&units=${units}"

# 使用curl发送GET请求并获取响应
response=$(curl -s "$url")

# 解析JSON响应中的温度信息
temp=$(echo "$response" | jq '.main.temp')

# 显示天气信息
echo "当前城市: $city_name"
echo "温度: ${temp}°C"

# 检查jq是否安装
if [ $? -ne 0 ]; then
  echo "请先安装jq工具以解析JSON响应!"
fi
  1. 修改API密钥和城市名称

    • 将上述脚本中的your_api_key替换为你在OpenWeatherMap上获得的API密钥。
    • city_name变量设置为你想要查询的城市名称。
  2. 安装jq

    • jq是一个用于处理JSON文本的强大命令行工具。
    • 如果你的系统中尚未安装,请使用以下命令安装:
      • 对于Ubuntu或Debian系统:sudo apt-get install jq
      • 对于macOS系统:brew install jq
  3. 赋予执行权限并运行脚本

    • 给脚本文件赋予执行权限:chmod +x weather.sh
    • 运行脚本:./weather.sh

这个脚本将输出所查询城市的当前温度。你可以通过修改脚本来获取更多的天气信息,例如风速、湿度等。注意,OpenWeatherMap的免费API有一定的请求限制。

目录
相关文章
|
26天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
106 1
|
29天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
18 0
|
6天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
1天前
|
弹性计算 运维 Shell
每天解析一个shell脚本(61)
【4月更文挑战第26天】shell脚本解析及训练(61)
12 3
|
1天前
|
弹性计算 运维 Shell
每天解析一个shell脚本(58)
【4月更文挑战第26天】shell脚本解析及训练(58)
67 0
|
1天前
|
弹性计算 Shell 数据安全/隐私保护
每天解析一个shell脚本(56)
【4月更文挑战第26天】shell脚本解析及训练(56)
13 0
|
3天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
3天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
3天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
3天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)