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安装的部分