Ho solo trovato come attendere l'input dell'utente. Tuttavia, voglio solo mettere in pausa in modo che il while truemio computer non si blocchi.
Ci ho provato pause(1), ma dice -bash: syntax error near unexpected token '1'. Come si può fare?
Ho solo trovato come attendere l'input dell'utente. Tuttavia, voglio solo mettere in pausa in modo che il while truemio computer non si blocchi.
Ci ho provato pause(1), ma dice -bash: syntax error near unexpected token '1'. Come si può fare?
Risposte:
Usa il sleepcomando
Esempio:
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.
Si possono anche usare decimali quando si specifica un'unità di tempo; per esempiosleep 1.5s
thread.sleepfunzione in molti linguaggi di programmazione @Geremia
E che mi dici di:
read -p "Press enter to continue"
PAUSE
In Python (la domanda era originariamente contrassegnata con Python) è necessario importare il modulo temporale
import time
time.sleep(1)
o
from time import sleep
sleep(1)
Per shell script è giusto
sleep 1
Che esegue il sleepcomando. per esempio./bin/sleep
python -c "import time; time.sleep(1)"invece di sleep 1:)
python -c "import time; time.sleep(0.8)"invece. Ma allora dobbiamo considerare il tempo necessario per l'avvio di Python. È necessario eseguire questo: date +%N; python -c "import time; time.sleep(0)"; date +%Nper determinare quanti nanosecondi sta impiegando Python per iniziare. Ma questo include anche alcune spese generali dalla data di esecuzione. Esegui questo date +%N; date +%Nper trovare quel sovraccarico. Il sovraccarico di Python sulla mia macchina era in realtà più vicino a 0,14 secondi. Quindi voglio time.sleep(0.86).
Mi rendo conto di essere un po 'in ritardo con questo, ma puoi anche chiamare sleep e passare il tempo invalido. Ad esempio, se volessi aspettare 3 secondi, posso fare:
/bin/sleep 3
4 secondi sarebbe simile a questo:
/bin/sleep 4
Su Mac OSX, la sospensione non richiede minuti / ecc., Solo secondi. Quindi per due minuti,
sleep 120
Esegui più sleep e comandi
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
Questo attenderà 5 secondi prima di eseguire il primo script, quindi dormirà di nuovo per 3 secondi prima che cambi nuovamente directory.
All'interno dello script puoi aggiungere quanto segue tra le azioni che desideri mettere in pausa. Questo metterà in pausa la routine per 5 secondi.
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
-t 5interromperà la sceneggiatura dopo 5 secondi, non continuerà, almeno secondo questa pagina man per la lettura
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
Per continuare quando si preme un pulsante qualsiasi
Puoi farlo aspettare usando $ RANDOM, un generatore di numeri casuali predefinito. Di seguito sto usando 240 secondi. Spero che aiuti @
> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS
sleep! (pause,waitodelayavrebbe più senso e sarebbe più facile da ricordare.)