J'ai seulement trouvé comment attendre les entrées de l'utilisateur. Cependant, je veux seulement faire une pause pour que mon while true
ne plante pas mon ordinateur.
J'ai essayé pause(1)
, mais il est écrit -bash: syntax error near unexpected token '1'
. Comment ceci peut être fait?
Utilisez la commande sleep
.
Exemple:
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.
On peut également utiliser des décimales pour spécifier une unité de temps; par exemple. sleep 1.5s
Dans Python (la question était balisée à l'origine avec Python), vous devez importer le module de temps.
import time
time.sleep(1)
ou
from time import sleep
sleep(1)
Pour Shell, le script est juste
sleep 1
Ce qui exécute la commande sleep
. par exemple. /bin/sleep
Et à propos de:
read -p "Press enter to continue"
Je me rends compte que je suis un peu en retard avec ceci, mais vous pouvez aussi appeler sleep et passer le temps désiré. Par exemple, si je voulais attendre 3 secondes, je peux faire:
/bin/sleep 3
4 secondes ressembleraient à ceci:
/bin/sleep 4
Sur Mac OSX, la mise en veille ne prend pas quelques minutes, etc., mais quelques secondes seulement. Donc pendant deux minutes,
sleep 120
Exécuter plusieurs sommeil et commandes
sleep 5 && cd /var/www/html && git pull && sleep 3 && cd ..
Cela attendra 5 secondes avant d'exécuter le premier script, puis s'endormira de nouveau pendant 3 secondes avant de changer de répertoire.
Dans le script, vous pouvez ajouter ce qui suit entre les actions pour lesquelles vous souhaitez une pause. Cela mettra la routine en pause pendant 5 secondes.
read -p "Pause Time 5 seconds" -t 5
read -p "Continuing in 5 Seconds...." -t 5
echo "Continuing ...."
read -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
Pour continuer lorsque vous appuyez sur un bouton
Vous pouvez le faire attendre avec $ RANDOM, un générateur de nombres aléatoires par défaut. Dans le ci-dessous, j'utilise 240 secondes. J'espère que ça t'as aidé @
> WAIT_FOR_SECONDS=`/usr/bin/expr $RANDOM % 240` /bin/sleep
> $WAIT_FOR_SECONDS