Автор: Дан Фразиер (Dann Frazier)
Перевод: Алексей Бешенов
2008-03-05
Оригинал: «weather: check weather conditions and forecasts on the command line», 4 октября 2007 г.
weather из пакета weather-util — простая консольная утилита для просмотра текущего состояния погоды и прогноза. Данные в формате METAR берутся от National Oceanic and Atmospheric Administration, а прогнозы предоставляются National Weather Service. В документации говорится, что программа ограничивается только информацией для Соединенных Штатов, но на деле METAR предоставляется станциями по всему миру (см., например, http://www.google.ru/search?q=METAR+Russia). Впрочем, прогноз погоды можно будет получить только для США.
Многие места уже предопределены в /etc/weatherrc. Если там уже есть интересующая вас местность, то для работы потребуется только узнать ее синоним. Например, в /etc/weatherrc есть следующая запись для Альбукерки, штат Нью-Мексико:
[ABQ] City = Albuquerque ID = KABQ St = NMТаким образом, синоним для Альбукерки — «ABQ». Поэтому текущее состояние дел в Альбукерке можно узнать командой weather ABQ:
$ weather ABQ Current conditions at Albuquerque International Airport (KABQ) Last updated Sep 26, 2007 - 04:56 PM EDT / 2007.09.26 2056 UTC Wind: from the ESE (120 degrees) at 3 MPH (3 KT) Sky conditions: mostly clear Temperature: 77.0 F (25.0 C) Relative Humidity: 15%weather -f ABQ покажет краткосрочный прогноз:
$ weather -f ABQ Current conditions at Albuquerque International Airport (KABQ) Last updated Sep 26, 2007 - 04:56 PM EDT / 2007.09.26 2056 UTC Wind: from the ESE (120 degrees) at 3 MPH (3 KT) Sky conditions: mostly clear Temperature: 77.0 F (25.0 C) Relative Humidity: 15% City Forecast for Albuquerque, NM Issued Wednesday afternoon - Sep 26, 2007 Wednesday night... Low 52, 0% chance of precipitation. Thursday... Sunny, high 81, 0% chance of precipitation. Thursday night... Low 54, 5% chance of precipitation. Friday... Partly cloudy, high 80. Friday night... Low 56.Новые местоположения можно добавлять прямо в этот файл, либо в пользовательские файлы ~/.weatherrc. Запись [default] задает место по умолчанию. Например, в моем ~/.weatherrc написано
[default] City = denver Forecast = True ID = KFNL St = COCity и St (город, штат) — поля для получения прогнозов; текущая погода находится по полю ID. Я использую такие настройки, чтобы указать weather, что меня интересует погода в Денвере, штат Колорадо, а для получения текущей сводки должна использоваться ближайшая станция. Если вы не укажете [default], то по умолчанию получите данные для Роли (Raleigh), Северная Каролина.
Для определения своих настроек важно знать, какую информацию использует в своей работе weather. Например, мне нужно узнать сводку для Лаббока, штат Техас, и я выполняю такую команду:
$ weather -o --city=Lubbock --st=TX Current conditions at Fort Collins-Loveland Municipal Airport (KFNL) Last updated Sep 26, 2007 - 05:55 PM EDT / 2007.09.26 2155 UTC Wind: from the ENE (070 degrees) at 5 MPH (4 KT) Sky conditions: clear Temperature: 71 F (22 C) Relative Humidity: 23%(-o отключает отображение прогноза.) Как видите, weather рассказал о погоде у меня в Денвере, а не в Лаббоке — для текущих сводок используется идентификатор станции, а не информация о городе и штате. Нужная информация будет получена, если указать --id:
$ weather -o --id=KLBB Current conditions at Lubbock International Airport (KLBB) Last updated Sep 26, 2007 - 05:53 PM EDT / 2007.09.26 2153 UTC Wind: from the S (170 degrees) at 9 MPH (8 KT) gusting to 18 MPH (16 KT) Sky conditions: mostly cloudy Weather: Cumulonimbus clouds, towering cumulus clouds observed Temperature: 86.0 F (30.0 C) Relative Humidity: 38%Благодаря тому, что weather работает с командной строкой, возможно автоматизировать многие вещи. Например, отмену еженедельного похода по пивным в случае дождя:
$ cat /etc/cron.weekly/pub-reminder #!/bin/shКонечно, я бы просто посоветовал надеть плащ.set -e
if weather -f | egrep -q '(100)|([5-9][0-9])% chance of precipitation'; then mailx -s 'Cancellation' $PUBCRAWLEES < ~/pub-crawl-cancelled else mailx -s 'Get on your bike' $PUBCRAWLEES < ~/pub-crawl-is-a-go fi
weather можно взять из пакета weather-util в Debian Etch, testing, unstable и Ubuntu Edgy, Feisty, Gutsy.