Linux培训
达内IT学院

400-111-8989

在Linux字符界面中获取天气预报


目标:使用 Linux 命令行显示天气预报。

发行版:所有 Linux 发行版。

要求:能连上因特网的 Linux

难度:容易

约定:

# - 需要使用 root 权限来执行指定命令,可以直接使用 root 用户来执行也可以使用sudo 命令

$ - 可以使用普通用户来执行指定命令

简介

无需打开网页浏览器就能直接从终端获取最新的天气预报那该多方便啊,对吧?你还能把它写成脚本,或者设置定义定时任务。

# 是一个允许你搜索世界各地天气预报的网站,而且它的是以 ASCII 字符的形式来显示结果的。通过使用 cURL 访问 #,就能直接在终端显示查询结果了。

获取所在地的天气

要抓取所在地的天气情况非常简单。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/@#

更改温度单位

默认情况下,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。当然,你完全没有必要这么做。当你需要查看天气预报的时候只需要访问一下这个超棒的网站就行了。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Linux微代码就是这么强大
下一篇:经验分享:拒绝学不会,Linux入门学习的三条军规!

学物联网工程好就业吗?

图像算法工程师发展前景

大数据运维工资一般多少?

运维工程师经常加班吗?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省