Obter o tempo através da linha de comando

Esta é uma versão ligeiramente melhor de outro script que escrevi: http://coderwall.com/p/gbajfa

Este script depende de você ter o PHP instalado e o PATH configurado corretamente.

Este script fará a geolocalização para você, mas você precisa ter uma chave de API de desenvolvedores do Wunderground para usá-lo: http://api.wunderground.com/weather/api/

Coloque isso em seu arquivo .bashrc:

current_weather(){

local API_KEY='put_your_key_here'

php
-r '$json = json_decode(file_get_contents("http://api.wunderground.com/api/'${API_KEY}'/geolookup/q/autoip.json")); $zip = $json->location->zip; $json = json_decode(file_get_contents("http://api.wunderground.com/api/'${API_KEY}'/conditions/forecast/q/$zip.json")); $w = $json->current_observation; $location = $w->display_location->full; $f = $json->forecast->txt_forecast; echo "Weather for $location: " . PHP_EOL; echo "----------------------------" . PHP_EOL; echo "Current temperature: {$w->temp_f}F ({$w->temp_c}C)" . PHP_EOL . PHP_EOL; foreach($f->forecastday as $day){ echo "{$day->title}: {$day->fcttext}". PHP_EOL . PHP_EOL; }'

}

Agora, basta digitar na linha de comando:

$> current_weather

Irá obter as condições meteorológicas atuais, bem como as condições futuras geo localizadas pelo seu endereço IP.