在 Linux 字元界面中獲取天氣預報
目標:使用 Linux 命令行顯示天氣預報。
發行版:所有 Linux 發行版。
要求:能連上網際網路的 Linux
難度:容易
約定:
#
- 需要使用 root 許可權來執行指定命令,可以直接使用 root 用戶來執行也可以使用sudo
命令$
- 可以使用普通用戶來執行指定命令
簡介
無需打開網頁瀏覽器就能直接從終端獲取最新的天氣預報那該多方便啊,對吧?你還能把它寫成腳本,或者設置定義定時任務。
http://wttr.in
是一個允許你搜索世界各地天氣預報的網站,而且它的是以 ASCII 字元的形式來顯示結果的。通過使用 cURL
訪問 http://wttr.in
,就能直接在終端顯示查詢結果了。
獲取所在地的天氣
要抓取所在地的天氣情況非常簡單。wttr.in
會自動根據 IP 地址來探測你的所在地。除非你用了 VPN,否則它的精度還不錯。
$ curl wttr.in
獲取指定城市的天氣
你可以通過在 wttr.in
後加上斜杠和城市名稱的方式來獲得其他城市的天氣情況。不過要把名字中的空格替換成 +
。
$ curl wttr.in/New+York
你也可以以 Unix 時區的形式來填寫城市名稱。
$ curl wttr.in/New_York
不要直接使用空格,否則會出現奇怪而不準確的結果。
獲取機場天氣
若你對地區的三位機場代號很熟悉,你也可以使用機場代號來查詢天氣。一般來說使用機場要比使用城市更貼近你,而且更精確一些。
$ curl wttr.in/JFK
猜測所在地
通過使用 ~
字元,你可以讓 wttr.in
通過地標來猜測天氣情況。
$ curl wttr.in/~Statue+Of+Liberty
域名所在地的天氣
你想不想知道 LinuxConfig 託管地的天氣?現在有一個方法可以知道!wttr.in
可以通過域名獲取天氣。是的,這個功能可能不那麼實用,但這很有趣啊。
$ curl wttr.in/@linuxconfig.org
更改溫度單位
默認情況下,wttr.in
會根據你的實際地址來決定顯示哪種溫度單位(C 還是 F)。基本上,在美國,使用的是華氏度,而其他地方顯示的是攝氏度。你可以指定顯示的溫度單位,在 URL 後添加 ?u
會顯示華氏度,而添加 ?m
會顯示攝氏度。
$ curl wttr.in/New_York?m
$ curl wttr.in/Toronto?u
在 ZSH 上有一個很奇怪的 bug,會使得這兩條語句不能正常工作,如果你需要更換單位,恐怕需要改成使用 Bash 了。
總結
你可以很方便地在腳本,定時任務,甚至 MOTD(LCTT 譯註:Message Of The Day - 每日消息)中訪問 wttr.in
。當然,你完全沒有必要這麼做。當你需要查看天氣預報的時候只需要訪問一下這個超棒的網站就行了。
via: https://linuxconfig.org/get-your-weather-forecast-from-the-linux-cli
作者:Nick Congleton 譯者:lujun9972 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive