作者 | Nick Congleton
譯者 | lujun9972
標的:使用 Linux 命令列顯示天氣預報。
發行版:所有 Linux 發行版。
要求:能連上因特網的 Linux
難度:容易
約定:
#
– 需要使用 root 許可權來執行指定命令,可以直接使用 root 使用者來執行也可以使用 sudo
命令$
– 可以使用普通使用者來執行指定命令簡介
無需開啟網頁瀏覽器就能直接從終端獲取最新的天氣預報那該多方便啊,對吧?你還能把它寫成指令碼,或者設定定義定時任務。
http://wttr.in
是一個允許你搜索世界各地天氣預報的網站,而且它的是以 ASCII 字元的形式來顯示結果的。透過使用 cURL
訪問 http://wttr.in
,就能直接在終端顯示查詢結果了。
獲取所在地的天氣
Local weather from wttr.in
要抓取所在地的天氣情況非常簡單。wttr.in
會自動根據 IP 地址來探測你的所在地。除非你用了 VPN,否則它的精度還不錯。
$ curl wttr.in
獲取指定城市的天氣
Weather by city from wttr.in
你可以透過在 wttr.in
後加上斜槓和城市名稱的方式來獲得其他城市的天氣情況。不過要把名字中的空格替換成 +
。
$ curl wttr.in/New+York
你也可以以 Unix 時區的形式來填寫城市名稱。
$ curl wttr.in/New_York
不要直接使用空格,否則會出現奇怪而不準確的結果。
獲取機場天氣
Weather by airport from wttr.in
若你對地區的三位機場代號很熟悉,你也可以使用機場代號來查詢天氣。一般來說使用機場要比使用城市更貼近你,而且更精確一些。
$ curl wttr.in/JFK
猜測所在地
Weather by landmark from wttr.in
透過使用 ~
字元,你可以讓 wttr.in
透過地標來猜測天氣情況。
$ curl wttr.in/~Statue+Of+Liberty
域名所在地的天氣
Weather by domain name from wttr.in
你想不想知道 LinuxConfig 託管地的天氣?現在有一個方法可以知道!wttr.in
可以透過域名獲取天氣。是的,這個功能可能不那麼實用,但這很有趣啊。
$ curl wttr.in/@linuxconfig.org
更改溫度單位
Change unit system in wttr.in
預設情況下,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[2] 譯者:lujun9972 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出