<===
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 "Все программы запущены."