AnsiWeather — быстрый прогноз в терминале
Краткое описание
AnsiWeather — это небольшой POSIX‑совместимый shell‑скрипт, который запрашивает погодные данные и выводит их в терминал с ANSI‑окрашиванием. Определение: AnsiWeather — утилита командной строки для быстрого получения текущей погоды и кратких прогнозов.
Преимущества: минимальные зависимости, моментальный вывод, простая интеграция в сценарии и cron‑задачи. Ограничения: нет графики, функциональность ограничена текстовым интерфейсом и опциями командной строки.

Установка
AnsiWeather доступен в репозиториях Ubuntu и большинства дистрибутивов на базе Debian:
sudo apt install ansiweather
Для других дистрибутивов или если вы хотите последнюю версию, можно клонировать репозиторий и запустить скрипт напрямую:
git clone https://github.com/fcambus/ansiweather.git
cd ansiweather
./ansiweatherAnsiWeather — компактное приложение, установка и запуск занимают секунды. Если вы запускаете из клона, убедитесь, что зависимости (curl, jq или другие, если потребуются) установлены в вашей системе.
Базовое использование
Самая простая команда показывает текущие погодные условия для местоположения, определённого по умолчанию (иногда геолокация определяется неправильно). Запустите:
ansiweather
Вы увидите температуру, скорость ветра, влажность и давление. Если утилита показывает другой город, задайте его явно.
Указание местоположения
Чтобы AnsiWeather показывал погоду для нужного города, используйте переключатель -l и укажите «Город,Код_страны» или просто название страны/города. Примеры:
ansiweather -l Athens,GR
ansiweather -l London,UK
ansiweather -l Taiwan
Совет: для городов с общими именами указывайте также код страны, чтобы избежать неоднозначности.
Единицы измерения и прогнозы
Выбор метрической системы: переключатель -u принимает metric или imperial:
ansiweather -l Athens,GR -u metric
ansiweather -l Athens,GR -u imperial
Получение прогноза на несколько дней: переключатель -f с числом дней (например, 3). Есть также заглавный флаг -F, который возвращает фиксированный 5‑дневный прогноз:
ansiweather -l Paris,FR -u metric -f 3
ansiweather -l Paris,FR -u metric -F
Подсказка: флаг -f принимает число дней подряд, -F — удобная короткая опция для пяти дней.
Символы, времена восхода/заката и дополнительные данные
AnsiWeather может выводить погодные символы, время восхода/заката и отдельные показатели (ветер, влажность, давление). Для этого используются логические параметры, принимающие true или false:
ansiweather -l London,UK -u metric -s true # включить символы
ansiweather -l London,UK -u metric -d true # показать время восхода и заката
ansiweather -l London,UK -u metric -w true -h true -p true # ветер, влажность, давление

Важно: некоторые комбинации опций могут не работать вместе из‑за ограничений ширины вывода (скрипт ограничивает объём печатаемой информации). Если вывод обрезается, уменьшите число прогнозных дней или отключите дополнительные поля.
Часто используемые переключатели
- -l
— местоположение (обязательно для точного прогноза) - -u metric|imperial — система измерений
- -f
— прогноз на N дней - -F — прогноз на 5 дней
- -s true|false — символы погоды
- -d true|false — время восхода/заката
- -w true|false — показать ветер
- -h true|false — показать влажность
- -p true|false — показать давление
Шпаргалка и примеры
Быстрая шпаргалка для терминала:
# Текущая погода для Москвы в метрической системе
ansiweather -l Moscow,RU -u metric
# 3‑дневный прогноз для Парижа с символами
ansiweather -l Paris,FR -u metric -f 3 -s true
# Показать только ветер и влажность
ansiweather -l Tokyo,JP -u metric -w true -h true -p falseАвтоматизация и пример сценария
AnsiWeather удобно использовать в скриптах. Пример простого сценария: отправить письмо себе, если завтра ожидается дождь. Это демонстрационный фрагмент; адаптируйте под ваш почтовый клиент и безопасность (не храните пароли в открытом виде).
#!/bin/bash
# check-rain.sh — пример автоматизации на базе ansiweather
CITY="London,UK"
TMPFILE=$(mktemp)
ansiweather -l "$CITY" -u metric -f 1 > "$TMPFILE"
if grep -iE "rain|shower|drizzle|дожд" "$TMPFILE" >/dev/null; then
echo "В прогнозе на завтра ожидается дождь" | mail -s "Напоминание: возьмите зонт" you@example.com
fi
rm -f "$TMPFILE"Короткая методология автоматизации:
- Сформируйте чёткие критерии триггера (например, слово «rain» или порог скорости ветра).
- Запустите AnsiWeather с флагом -f для нужного диапазона.
- Проанализируйте вывод grep/jq и отправьте уведомление.
- Планируйте запуск через cron или systemd timer.
Чек‑лист по ролям
Для системного администратора:
- Установить AnsiWeather в систему и управлять зависимостями.
- Настроить systemd timer или cron для регулярной проверки.
- Настроить логирование и уведомления.
Для разработчика сценариев:
- Написать тестируемые скрипты, проверяющие содержимое вывода.
- Обрабатывать ошибки сетевых запросов (таймауты, неверный город).
Для обычного пользователя:
- Держать короткие алиасы в .bashrc (например, alias weather=’ansiweather -l Moscow,RU -u metric’).
- Использовать -s true для читаемого вывода.
Отладка и распространённые проблемы
- Пустой или обрезанный вывод: уменьшите число дней (-f), отключите дополнительные поля (-s false, -d false).
- Неправильный город: указывайте код страны, например London,UK или Moscow,RU.
- Ошибки сети: проверьте подключение и прокси; AnsiWeather использует HTTP‑запросы, поэтому убедитесь, что curl/wget работают.
- Отсутствуют символы: используйте терминал с поддержкой UTF‑8 и шрифтами, которые включают погодные символы.
Важно: не храните секреты и токены в открытом виде в сценариях, если вы обращаетесь к сторонним API с ключами.
Альтернативы и когда AnsiWeather не подходит
Когда выбирать другие инструменты:
- Нужна графическая плитка или виджет — используйте погодные приложения рабочего стола.
- Требуется интерактивный ASCII‑интерфейс с подробной информацией — попробуйте wttr.in (curl wttr.in) или кастомные CLI-клиенты.
- Нужен доступ к историческим данным и аналитике — используйте API OpenWeatherMap, Meteostat или платные сервисы.
Короткое сравнение (качественное):
- AnsiWeather: минималистично, быстро, легко интегрируется в скрипты.
- wttr.in: богатые текстовые карты и удобен через curl, может подключать удалённые сервисы.
- GUI‑виджеты: более наглядно, но потребляют ресурсы.
Критерии приёмки
- Утилита возвращает текущую погоду для указанного -l местоположения.
- Переключатель -u меняет единицы измерения корректно.
- -f и -F возвращают прогнозы на соответствующее количество дней.
- Скрипты, использующие AnsiWeather, корректно обрабатывают сетевые ошибки и не раскрывают секреты.
Резюме
AnsiWeather — отличный выбор, если вам нужен быстрый, лёгкий и предсказуемый способ смотреть погоду прямо в терминале и интегрировать это в сценарии. Он не заменит графические приложения, но выигрывает в простоте и скорости.
Короткие советы:
- Указывайте город и код страны для точности.
- Используйте -s, -d, -w, -h, -p выборочно, чтобы не перегружать вывод.
- Интегрируйте AnsiWeather в cron или systemd timer для автоматических уведомлений.
Применяете ли вы другие CLI‑решения для погоды, например wttr.in? Какие у вас сценарии использования?
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента