Eu só descobri como esperar pela entrada do usuário. No entanto, só quero fazer uma pausa para que while true
meu computador não trave.
Eu tentei pause(1)
, mas diz -bash: syntax error near unexpected token '1'
. Como pode ser feito?
Eu só descobri como esperar pela entrada do usuário. No entanto, só quero fazer uma pausa para que while true
meu computador não trave.
Eu tentei pause(1)
, mas diz -bash: syntax error near unexpected token '1'
. Como pode ser feito?
Respostas:
Use o sleep
comando
Exemplo:
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.
Também se pode empregar casas decimais ao especificar uma unidade de tempo; por exemplosleep 1.5s
thread.sleep
função em muitas linguagens de programação @Geremia
E sobre:
read -p "Press enter to continue"
PAUSE
No Python (a pergunta foi originalmente marcada como Python), você precisa importar o módulo de hora
import time
time.sleep(1)
ou
from time import sleep
sleep(1)
Para shell script é apenas
sleep 1
O qual executa o sleep
comando. por exemplo./bin/sleep
python -c "import time; time.sleep(1)"
em vez de sleep 1
:)
python -c "import time; time.sleep(0.8)"
vez disso. Mas então precisamos levar em consideração quanto tempo a inicialização do python realmente leva. Você precisa executar o seguinte: date +%N; python -c "import time; time.sleep(0)"; date +%N
para determinar quantos nanossegundos o python está demorando para iniciar. Mas isso também inclui algumas despesas gerais a partir da data de execução. Execute isso date +%N; date +%N
para encontrar essa sobrecarga. A sobrecarga do Python na minha máquina estava mais próxima de 0,14 segundos. Então eu quero time.sleep(0.86)
.
Percebo que estou um pouco atrasado com isso, mas você também pode ligar para dormir e passar o tempo esgotado. Por exemplo, se eu quisesse esperar por 3 segundos, poderia:
/bin/sleep 3
4 segundos ficariam assim:
/bin/sleep 4
No Mac OSX, o sono não leva minutos / etc, apenas segundos. Então, por dois minutos,
sleep 120
Execute vários dorminhocos e comandos
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
Isso aguardará 5 segundos antes de executar o primeiro script, depois será suspenso novamente por 3 segundos antes de alterar o diretório novamente.
Dentro do script, você pode adicionar o seguinte entre as ações que deseja pausar. Isso fará uma pausa na rotina por 5 segundos.
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
-t 5
vai anular o script depois de 5 segundos, não continue, pelo menos de acordo com esta página de manual para leitura
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
Para continuar quando você pressiona qualquer botão
Você pode esperar usando $ RANDOM, um gerador de números aleatórios padrão. No abaixo eu estou usando 240 segundos. Espero que ajude @
> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS
sleep
! (pause
,wait
Oudelay
faria mais sentido e ser mais fácil de lembrar.)