weather.sh
Прогноз погоды прямо в терминале. Использует сервис wttr.in — показывает текущую погоду, прогноз на 3 дня, ветер, влажность и фазу луны. Идеально, когда сидишь в SSH и лень открывать браузер.
Зависимости
curl(обычно уже установлен)
Использование
chmod +x weather.sh # Погода по IP-геолокации ./weather.sh # Конкретный город ./weather.sh Москва # Компактный вывод (одна строка) ./weather.sh --short Москва # Только сегодня (без прогноза) ./weather.sh --today Санкт-Петербург
Код
#!/usr/bin/env bash
set -euo pipefail
# weather.sh — прогноз погоды в терминале
# Использование: ./weather.sh [--short|--today] [город]
MODE="full"
CITY=""
for arg in "$@"; do
case "$arg" in
--short) MODE="short" ;;
--today) MODE="today" ;;
*) CITY="$arg" ;;
esac
done
BASE="wttr.in/${CITY}"
case "$MODE" in
short)
# Одна строка: иконка, температура, ветер
curl -sf "${BASE}?format=%l:+%c+%t+💨+%w+💧+%h" || echo "Ошибка: нет подключения"
;;
today)
# Только сегодня, без прогноза
curl -sf "${BASE}?0qF" || echo "Ошибка: нет подключения"
;;
full)
# Полный прогноз на 3 дня
curl -sf "${BASE}?F" || echo "Ошибка: нет подключения"
;;
esacПримеры вывода
Компактный режим (--short):
$ ./weather.sh --short Москва Москва: ⛅ +3°C 💨 12km/h 💧 68%
Можно добавить в .bashrc для приветствия при входе:
# Погода при логине (не задерживает, если нет сети) timeout 2 /opt/scripts/weather.sh --short 2>/dev/null || true