Держите загрузку в wget, пока не установится мое соединение

Я хочу скачать файл Ttytter с помощью wget и запустить его в терминале. Я могу сделать это gnome-terminal --tab -e 'wget http://www.floodgap.com/software/ttytter/dist2/2.0.02.txt -O /tmp/ttytter.pl && perl /tmp/ttytter.pl -hold' но если мое соединение не установлено, то как мне заставить wget дождаться установления соединения и затем загрузить файл.

1 ответ

Я думаю, что лучше всего было бы написать скрипт, который проверял бы URL-адрес, пока он не стал доступен, а затем запустил вашу команду, когда появилась ссылка. Сценарий может использовать цикл while для команды ping, и когда URL будет доступен, цикл может быть прерван, и ваша команда будет выполнена. Здесь есть несколько хороших сценариев, которые можно адаптировать и которые подробно объясняют процесс.

Хорошие новости, я только что проверил приведенный ниже сценарий, перешел в автономный режим, а затем вернулся снова, и он дал мне копию ttytter.pl в моей папке tmp и запускает программу!

#!/bin/bash
while true; do ping -c1 www.floodgap.com > /dev/null && break; done
wget http://www.floodgap.com/software/ttytter/dist2/2.0.02.txt -O /tmp/ttytter.pl && perl /tmp/ttytter.pl -hold done

После того, как вы сохранили этот скрипт и сделали его исполняемым, вы можете просто добавить его в качестве элемента автозагрузки с помощью графического менеджера автозагрузки (но не забудьте проверить опцию для запуска в качестве приложения в терминале). В качестве альтернативы, поместите эту команду в соответствующую область поля, предоставленного менеджером запуска: gnome-terminal -e /location/of/above/script

Если у вас возникли проблемы с размещением скрипта при запуске, вы можете создать launcher для этого выберите, чтобы запустить его как приложение в терминале, а затем закрепить его на панели или рабочем столе. Затем нажмите кнопку запуска после входа в систему, и она подождет, пока соединение не будет установлено, а затем загрузит и запустит ttytter,

Другие вопросы по тегам