命令行查看天气预报

1. 说明介绍

程序开发人员最长用的工具就是命令行的终端了, 如果可以快捷的从命令行获取天气信息则是一件比较极客和有效率操作了. 现在介绍一个极为简单的方式实现命令行获取天气信息, 并且有以下几个特点:

  • 无需安装依赖
  • 自定义程度较高
  • 配置简单

2. 安装配置

2.1 添加shell方法

根据自己的需要在~/.zshrc或者~/.bashrc中添加如下方法:

fweather()
{
  curl -H "Accept-Language: zh" "http://wttr.in/${1-beijing}?m&${2-3}"
}

没错就是这么简单即完成安装配置, 其中方法名称(fweather)和默认城市(beijing)可以自定义.

2.2 使用演示

如果已经打开了终端, 请执行如下语句, 重新加载shell配置:

exec $SHELL
2.2.1 最简使用

直接在命令行执行函数, 默认查看北京近三天的天气:

fweather

结果如下:

2.2.2 查询任意城市

执行函数空格一下输入要查询的城市名称, 比如合肥

fweather hefei

天氣預報: Hefei, China

               薄雾
  _ - _ - _ -  1-4 °C         
   _ - _ - _   ↘ 15 km/h      
  _ - _ - _ -  1 km           
               0.0 mm         
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  五 04 1月  ├───────────────────────┬──────────────────────────────┐
│             早上             │             中午      └──────┬──────┘       晚間            │              晚              │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               阴天           │               阴天           │               阴天           │               阴天           │
│      .--.     4-6 °C         │      .--.     6-8 °C         │      .--.     6-8 °C         │      .--.     5-7 °C         │
│   .-(    ).   ↓ 10-14 km/h   │   .-(    ).   ↘ 12-15 km/h   │   .-(    ).   ↗ 11-15 km/h   │   .-(    ).   ↓ 11-15 km/h   │
│  (___.__)__)  12 km          │  (___.__)__)  15 km          │  (___.__)__)  16 km          │  (___.__)__)  17 km          │
│               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │               0.0 mm | 0%    │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  六 05 1月  ├───────────────────────┬──────────────────────────────┐
│             早上             │             中午      └──────┬──────┘       晚間            │              晚              │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               阴天           │      .-.      细雨           │      .-.      小雨           │  _`/"".-.     周边有零星小雨 │
│      .--.     3-6 °C         │     (   ).    5-7 °C         │     (   ).    4-7 °C         │   ,\_(   ).   3-6 °C         │
│   .-(    ).   ↙ 14-20 km/h   │    (___(__)   ↙ 13-17 km/h   │    (___(__)   ↓ 13-18 km/h   │    /(___(__)  ↓ 14-19 km/h   │
│  (___.__)__)  19 km          │     ‘ ‘ ‘ ‘   20 km          │     ‘ ‘ ‘ ‘   19 km          │      ‘ ‘ ‘ ‘  19 km          │
│               0.2 mm | 40%   │    ‘ ‘ ‘ ‘    0.2 mm | 24%   │    ‘ ‘ ‘ ‘    1.2 mm | 83%   │     ‘ ‘ ‘ ‘   1.4 mm | 73%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
                                                       ┌─────────────┐                                                       
┌──────────────────────────────┬───────────────────────┤  日 06 1月  ├───────────────────────┬──────────────────────────────┐
│             早上             │             中午      └──────┬──────┘       晚間            │              晚              │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│               阴天           │  _`/"".-.     周边有零星小雨 │      .-.      细雨           │  _`/"".-.     周边有零星小雨 │
│      .--.     4-6 °C         │   ,\_(   ).   5-7 °C         │     (   ).    6-8 °C         │   ,\_(   ).   4-6 °C         │
│   .-(    ).   ↙ 10-14 km/h   │    /(___(__)  ↙ 12-15 km/h   │    (___(__)   ← 13-19 km/h   │    /(___(__)  ← 14-21 km/h   │
│  (___.__)__)  20 km          │      ‘ ‘ ‘ ‘  20 km          │     ‘ ‘ ‘ ‘   19 km          │      ‘ ‘ ‘ ‘  20 km          │
│               0.1 mm | 46%   │     ‘ ‘ ‘ ‘   0.0 mm | 22%   │    ‘ ‘ ‘ ‘    0.1 mm | 81%   │     ‘ ‘ ‘ ‘   0.2 mm | 82%   │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
2.2.3 查询任意城市今日天气

执行函数空格一下输入要查询的城市名称, 比如合肥

fweather hefei 0

天氣預報: Hefei, China

               薄雾
  _ - _ - _ -  1-4 °C         
   _ - _ - _   ↘ 15 km/h      
  _ - _ - _ -  1 km           
               0.0 mm 
2.2.4 常见支持设置的查询
  • 语言: zh
  • 预报天数: 3
  • 城市: beijing
  • 具体地区: wangjing+beijing
  • 经纬度: -78.46,106.79
  • 域名: @stackoverflow.com 还有很多其他高级的使用比如生成图片, 请查看第三节使用说明了解原理后查看相关资料自定义使用.

3. 使用说明

shell中的方法本质上调用了http://wttr.in获取数据, 并把结果显示出来, 这个函数有两个参数, 第一指定城市, 第二表示预报几天. wttr高级的用法请重点查看 wttr github, 基本的wttr使用请参考一下几个资源:

4. 参考资料

5. 写在最后

  • 感谢wttr团队做出这么好玩好用的程序, 万分感谢
  • wttr 可以私有部署, 参考其 github安装的部分

转载于:https://my.oschina.net/jimmywa/blog/2997049

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值