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.