Я только нашел, как ждать ввода пользователя. Тем не менее, я только хочу сделать паузу, чтобы мой while true
не разбивал мой компьютер.
Я попробовал pause(1)
, но он говорит -bash: syntax error near unexpected token '1'
. Как это можно сделать?
Я только нашел, как ждать ввода пользователя. Тем не менее, я только хочу сделать паузу, чтобы мой while true
не разбивал мой компьютер.
Я попробовал pause(1)
, но он говорит -bash: syntax error near unexpected token '1'
. Как это можно сделать?
Используйте команду sleep
.
Пример:
sleep .5 # Waits 0.5 second.
sleep 5 # Waits 5 seconds.
sleep 5s # Waits 5 seconds.
sleep 5m # Waits 5 minutes.
sleep 5h # Waits 5 hours.
sleep 5d # Waits 5 days.
При указании единицы времени также можно использовать десятичные числа; например, sleep 1.5s
В Python (вопрос был первоначально помечен Python) вам нужно импортировать модуль времени
import time
time.sleep(1)
или
from time import sleep
sleep(1)
Для оболочки script есть просто
sleep 1
Выполняет команду sleep
. например. /bin/sleep
А как насчет:
read -p "Press enter to continue"
Я понимаю, что я немного опоздал с этим, но вы также можете вызвать сон и передать время ожидания. Например, если бы я хотел подождать 3 секунды, я могу сделать:
/bin/sleep 3
4 секунды будут выглядеть так:
/bin/sleep 4
В Mac OSX сон не занимает минуты/и т.д., только секунды. Итак, в течение двух минут,
sleep 120
Внутри script вы можете добавить следующее между действиями, которые вы хотели бы сделать паузой. Это приостановит процедуру в течение 5 секунд.
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
Запуск нескольких спящих и команд
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
Это будет ждать 5 секунд перед выполнением первого скрипта, а затем снова будет спать в течение 3 секунд, прежде чем он снова изменит каталог.
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
Чтобы продолжить, когда вы нажимаете любую кнопку
Мне было интересно, если добавить в сценарий bash паузу оператора, пока файл существует. Затем, создав такой файл, вы можете управлять запуском.
while [ YOUR CONDITION ]; do
while [ -f <folder>/<file> ]; do
sleep 30
done
DO YOUR JOB...
done
Таким образом, в каждом цикле скрипт сначала ищет файл, и если такой файл существует, он продолжает ждать, пока вы не удалите файл. Затем вы можете создать файл в любое время, чтобы приостановить выполнение сценария. Это смешно?
Я ценю комментарии/предложения/исправления/издания. Спасибо
Вы можете заставить его ждать, используя $ RANDOM, генератор случайных чисел по умолчанию. Ниже я использую 240 секунд. Надеюсь, это поможет @
> WAIT_FOR_SECONDS='/usr/bin/expr $RANDOM % 240' /bin/sleep
> $WAIT_FOR_SECONDS