Ik heb alleen ontdekt hoe ik op gebruikersinvoer moet wachten. Ik wil echter alleen pauzeren zodat mijn while true
mijn computer niet laat crashen.
Ik heb pause(1)
geprobeerd, maar er staat -bash: syntax error near unexpected token '1'
. Hoe kan het?
Antwoord 1, autoriteit 100%
Gebruik de opdracht sleep
.
Voorbeeld:
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.
Men kan ook decimalen gebruiken bij het specificeren van een tijdseenheid; bijv. sleep 1.5s
Antwoord 2, autoriteit 9%
En hoe zit het met:
read -p "Press enter to continue"
Antwoord 3, autoriteit 5%
In Python (de vraag was oorspronkelijk getagd als Python) moet je de tijdmodule importeren
import time
time.sleep(1)
of
from time import sleep
sleep(1)
Voor shell-script is het gewoon
sleep 1
Die de opdracht sleep
uitvoert. bijv. /bin/sleep
Antwoord 4, autoriteit 3%
Ik realiseer me dat ik een beetje laat hiermee ben, maar je kunt ook slapen bellen en de gewenste tijd doorgeven. Als ik bijvoorbeeld 3 seconden wil wachten, kan ik het volgende doen:
/bin/sleep 3
4 seconden zouden er als volgt uitzien:
/bin/sleep 4
Antwoord 5, autoriteit 3%
Voer meerdere slaapstanden en opdrachten uit
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
Dit wacht 5 seconden voordat het eerste script wordt uitgevoerd, en slaapt dan weer 3 seconden voordat het van map verandert.
Antwoord 6, autoriteit 2%
Op Mac OSX duurt de slaapstand geen minuten/enz., slechts seconden. Dus gedurende twee minuten,
sleep 120
Antwoord 7
Binnen het script kun je het volgende toevoegen tussen de acties die je wilt pauzeren. Hierdoor wordt de routine 5 seconden onderbroken.
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
Antwoord 8
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
Om door te gaan wanneer u op een knop drukt
voor meer info check read
manpage ref 1, ref 2
Antwoord 9
Je kunt het laten wachten met $RANDOM, een standaard generator voor willekeurige getallen. In het onderstaande gebruik ik 240 seconden. Ik hoop dat dat helpt @
> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS
Antwoord 10
gebruik trap
om de opdrachtregel te pauzeren en te controleren (in kleur met tput
) voordat u deze uitvoert
trap 'tput setaf 1;tput bold;echo $BASH_COMMAND;read;tput init' DEBUG
Druk op een willekeurige toets om door te gaan
Gebruik met
set -x
om opdrachtregel te debuggen