|
|
51CTO旗下网站
|
|
移动端

使用这个开源工具获取本地天气预报

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

作者:Kevin Sonney来源:Linux中国|2020-02-11 20:00

使用这个开源工具获取本地天气预报

在我们的 20 个使用开源提升生产力的系列的第十三篇文章中使用 wego 来了解出门前你是否要需要外套、雨伞或者防晒霜。

去年,我在 19 天里给你介绍了 19 个新(对你而言)的生产力工具。今年,我换了一种方式:使用你在使用或者还没使用的工具,构建一个使你可以在新一年更加高效的环境。

使用 wego 了解天气

过去十年我对我的职业最满意的地方之一是大多数时候是远程工作。尽管现实情况是我很多时候是在家里办公,但我可以在世界上任何地方工作。缺点是,离家时我会根据天气做出一些决定。在我居住的地方,“晴朗”可以表示从“酷热”、“低于零度”到“一小时内会小雨”。能够了解实际情况和快速预测非常有用。

Wego 是用 Go 编写的程序,可以获取并显示你的当地天气。如果你愿意,它甚至可以用闪亮的 ASCII 艺术效果进行渲染。

要安装 wego,你需要确保在系统上安装了Go。之后,你可以使用 go get 命令获取最新版本。你可能还想将 ~/go/bin 目录添加到路径中:

  1. go get -u github.com/schachmat/wego
  2. export PATH=~/go/bin:$PATH
  3. wego

首次运行时,wego 会报告缺失 API 密钥。现在你需要决定一个后端。默认后端是 Forecast.io,它是 Dark Sky的一部分。wego 还支持 OpenWeatherMapWorldWeatherOnline。我更喜欢 OpenWeatherMap,因此我将在此向你展示如何设置。

你需要在 OpenWeatherMap 中注册 API 密钥。注册是免费的,尽管免费的 API 密钥限制了一天可以查询的数量,但这对于普通用户来说应该没问题。得到 API 密钥后,将它放到 ~/.wegorc 文件中。现在可以填写你的位置、语言以及使用公制、英制(英国/美国)还是国际单位制(SI)。OpenWeatherMap 可通过名称、邮政编码、坐标和 ID 确定位置,这是我喜欢它的原因之一。

  1. # wego configuration for OEM
  2. aat-coords=false
  3. aat-monochrome=false
  4. backend=openweathermap
  5. days=3
  6. forecast-lang=en
  7. frontend=ascii-art-table
  8. jsn-no-indent=false
  9. location=Pittsboro
  10. owm-api-key=XXXXXXXXXXXXXXXXXXXXX
  11. owm-debug=false
  12. owm-lang=en
  13. units=imperial

现在,在命令行运行 wego 将显示接下来三天的当地天气。

wego 还可以输出 JSON 以便程序使用,还可显示 emoji。你可以使用 -f 参数或在 .wegorc 文件中指定前端。

如果你想在每次打开 shell 或登录主机时查看天气,只需将 wego 添加到 ~/.bashrc(我这里是 ~/.zshrc)即可。

wttr.in 项目是 wego 上的基于 Web 的封装。它提供了一些其他显示选项,并且可以在同名网站上看到。关于 wttr.in 的一件很酷的事情是,你可以使用 curl 获取一行天气信息。我有一个名为 get_wttr 的 shell 函数,用于获取当前简化的预报信息。

  1. get_wttr() {
  2.   curl -s "wttr.in/Pittsboro?format=3"    
  3. }

现在,在我离开家之前,我就可以通过命令行快速简单地获取我是否需要外套、雨伞或者防晒霜了。

【编辑推荐】

  1. 开源项目的名称背后都有哪些故事?
  2. 用于联系人管理的三个开源工具
  3. 再来一个吊打百度网盘的开源神器,还是99年妹子开发的
  4. FaceBook开源PyTorch3D:基于PyTorch的新3D计算机视觉库
  5. 十大免费开源人力资源技术解决方案
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

Python应用场景实战手册

Python应用场景实战手册

Python应用场景实战手册
共3章 | KaliArch

122人订阅学习

一步到位玩儿透Ansible

一步到位玩儿透Ansible

Ansible
共17章 | 骏马金龙1

209人订阅学习

云架构师修炼手册

云架构师修炼手册

云架构师的必备技能
共3章 | Allen在路上

144人订阅学习

视频课程+更多

图解轻松学Docker与Kubernetes(k8s)

图解轻松学Docker与Kubernetes(k8s)

讲师:齐毅6413人学习过

企业级Web Dns构建实战

企业级Web Dns构建实战

讲师:王硕10185人学习过

华为下一代防火墙NGFW技术视频课程

华为下一代防火墙NGFW技术视频课程

讲师:谢斌27460人学习过

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微