📅  最后修改于: 2023-12-03 15:05:41.354000             🧑  作者: Mango
有时候,你可能需要在你的计算机终端中得到最新的天气信息。在Ubuntu系统中,你可以使用命令行工具来实现这个目的。Ubuntu命令行天气 - Shell-Bash 是一个小的 Bash 脚本,可以使用API从网上获取天气数据,并将其在命令行中输出。下面是如何使用该工具。
下载脚本
$ wget https://raw.githubusercontent.com/kestho/weather.sh/master/weather.sh
将脚本复制到一个可执行的目录
$ sudo cp weather.sh /usr/local/bin/
$ sudo chmod +x /usr/local/bin/weather.sh
要使用该工具,只需在命令行中输入以下命令:
$ weather.sh [City] [Unit]
其中,City
是你需要获取天气信息的城市名称。Unit
是温度单位,可以是 metric
(摄氏度)或 imperial
(华氏度)。如果省略 Unit
,则默认为 metric
。
例如,获取北京的天气信息:
$ weather.sh beijing
这将输出以下类似的结果:
Beijing, CN (Clear Sky)
Temperature: 21.94℃
Humidity: 40%
Wind: 2.06 km/h
下面是代码片段:
#!/bin/bash
APPID="YOUR_APPID" # 请换成你自己的API key
UNIT="${2:-metric}" # 默认使用摄氏度
URL="http://api.openweathermap.org/data/2.5/weather?q=${1}&appid=${APPID}&units=${UNIT}"
DATA=$(curl --silent $URL)
NAME=$(echo "$DATA" | jq -r '.name')
WEATHER=$(echo "$DATA" | jq -r '.weather[0].description')
TEMP=$(echo "$DATA" | jq -r '.main.temp')
HUMIDITY=$(echo "$DATA" | jq -r '.main.humidity')
WIND=$(echo "$DATA" | jq -r '.wind.speed')
echo "${NAME}, ${WEATHER}"
echo "Temperature: ${TEMP}℃"
echo "Humidity: ${HUMIDITY}%"
echo "Wind: ${WIND} km/h"
需要安装 curl
和 jq
,你可以在命令行中使用以下命令安装它们:
$ sudo apt-get update
$ sudo apt-get install curl jq
这就是 Ubuntu命令行天气 - Shell-Bash 的简单介绍。希望对你有帮助!