← все скрипты

weather.sh

bash ~ 30 строк обновлён 27 марта 2026

Прогноз погоды прямо в терминале. Использует сервис wttr.in — показывает текущую погоду, прогноз на 3 дня, ветер, влажность и фазу луны. Идеально, когда сидишь в SSH и лень открывать браузер.

Зависимости

Использование

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