<===

ProNotes

2025-11-08 08:38:15
#!/bin/bash

# IP-адрес, который нужно дождаться
TARGET_IP="192.168.174.1"

# Интервал проверки в секундах
INTERVAL=5

# Максимальное время ожидания в секундах (0 = бесконечно)
TIMEOUT=0

# Программы для запуска после успешного пинга
COMMANDS=(
    "pidgin"
    "firefox"
    "thunderbird"
    # Добавь сюда свои команды, по одной на строку
)

echo "Ожидание доступности $TARGET_IP..."

elapsed=0
while ! ping -c 1 -W 1 "$TARGET_IP" > /dev/null 2>&1; do
    echo "[$elapsed сек] $TARGET_IP недоступен, ждём $INTERVAL сек..."
    sleep "$INTERVAL"
    ((elapsed += INTERVAL))
    
    # Проверка таймаута
    if [ "$TIMEOUT" -gt 0 ] && [ "$elapsed" -ge "$TIMEOUT" ]; then
        echo "Ошибка: Таймаут ожидания ($TIMEOUT сек). Выход."
        exit 1
    fi
done

echo "$TARGET_IP доступен! Запускаем программы..."

# Запуск всех команд в фоне
for cmd in "${COMMANDS[@]}"; do
    if command -v "${cmd%% *}" > /dev/null 2>&1; then
        echo "Запускаем: $cmd"
        $cmd &
    else
        echo "Предупреждение: Команда '$cmd' не найдена, пропускаем."
    fi
done

echo "Все программы запущены."
← Previous Next →
Back to list