📜  ubuntu 命令行天气 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:05:41.354000             🧑  作者: Mango

Ubuntu命令行天气 - Shell-Bash

有时候,你可能需要在你的计算机终端中得到最新的天气信息。在Ubuntu系统中,你可以使用命令行工具来实现这个目的。Ubuntu命令行天气 - Shell-Bash 是一个小的 Bash 脚本,可以使用API从网上获取天气数据,并将其在命令行中输出。下面是如何使用该工具。

安装步骤
  1. 下载脚本

    $ wget https://raw.githubusercontent.com/kestho/weather.sh/master/weather.sh
    
  2. 将脚本复制到一个可执行的目录

    $ 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"

需要安装 curljq,你可以在命令行中使用以下命令安装它们:

$ sudo apt-get update
$ sudo apt-get install curl jq

这就是 Ubuntu命令行天气 - Shell-Bash 的简单介绍。希望对你有帮助!