Отключение ожидания при вводе пользователя

Многие интернет-провайдеры блокируют порты 25 и 80 для всех своих учетных записей. Я использую услугу веб-хостинга, которая включает службу электронной почты. они предоставляют мне smtp-сервер на нестандартном порту для исходящей электронной почты. Он работает везде. У вас может быть доступ к чему-то подобному. Подумайте, какие услуги у вас уже есть, и исследуйте их.

1
задан 13 October 2016 в 00:11

1 ответ

Вы хотите запустить две вещи параллельно.

Прочитать входной сигнал ожидания 5 секунд (скажем) Обновить индикатор выполнения (показывая, что 5 секунд заканчиваются)

Для этого , не помещайте команду read внутри цикла.

Вместо этого сделайте что-то вроде этого:

for i in {1..10}; do sleep 0.5s; echo ${i}0; done | zenity --progress --auto-close --text="waiting for input...5sec" 2>/dev/null &  
read -t 5 asd && kill $!

(поместите эти две строки в файл (скажем, abc. sh) и запустите его bash abc.sh)

Объяснение:

Первая команда (для обновления индикатора выполнения) отправляется на задний план с parallel. . Если команда чтения завершена, kill $! закроет индикатор выполнения.

Примечание: Checkout GNU Parallel. Это поможет вам сделать больше материалов параллельно.

1
ответ дан 23 May 2018 в 05:15

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

Похожие вопросы: