Je n'ai trouvé que comment attendre la saisie de l'utilisateur. Cependant, je veux seulement faire une pause afin que mon while true
ne plante pas mon ordinateur.
J'ai essayé pause(1)
, mais ça dit -bash: syntax error near unexpected token '1'
. Comment ceci peut être fait?
sleep
! (pause
,,wait
oudelay
serait plus logique et plus facile à retenir.)thread.sleep
fonction dans de nombreux langages de programmation @GeremiaEt à propos de:
la source
PAUSE
En Python (la question était à l'origine étiquetée Python), vous devez importer le module de temps
ou
Car le script shell est juste
Qui exécute la
sleep
commande. par exemple./bin/sleep
la source
python -c "import time; time.sleep(1)"
place desleep 1
:)python -c "import time; time.sleep(0.8)"
place. Mais nous devons ensuite prendre en compte le temps de démarrage de python. Vous devez exécuter ceci:date +%N; python -c "import time; time.sleep(0)"; date +%N
pour déterminer combien de nanosecondes python prend pour démarrer. Mais cela inclut également des frais généraux à partir de la date de fonctionnement. Exécutez cecidate +%N; date +%N
pour trouver ce surcoût. La surcharge de Python sur ma machine était en fait plus proche de 0,14 seconde. Alors je veuxtime.sleep(0.86)
.Je me rends compte que je suis un peu en retard avec cela, mais vous pouvez également appeler le sommeil et passer le temps désiré. Par exemple, si je voulais attendre 3 secondes, je peux faire:
4 secondes ressemblerait à ceci:
la source
Sur Mac OSX, le sommeil ne prend pas des minutes / etc, seulement quelques secondes. Donc, pendant deux minutes,
la source
Exécuter plusieurs mises en veille et commandes
Cela attendra 5 secondes avant d'exécuter le premier script, puis s'endormira à nouveau pendant 3 secondes avant de changer de répertoire à nouveau.
la source
Dans le script, vous pouvez ajouter ce qui suit entre les actions que vous souhaitez mettre en pause. Cela interrompra la routine pendant 5 secondes.
la source
-t 5
cela abandonnera le script après 5 secondes, ne continuera pas, du moins selon cette page de manuel à lireread -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
la source
Vous pouvez le faire attendre en utilisant $ RANDOM, un générateur de nombres aléatoires par défaut. Dans ce qui suit, j'utilise 240 secondes. J'espère que cela pourra aider @
la source
utiliser trap pour mettre en pause et vérifier la ligne de commande avant d'exécuter
Appuyez sur n'importe quelle touche pour continuer
la source