Ich habe nur gefunden, wie man auf Benutzereingaben wartet. Ich möchte jedoch nur eine Pause einlegen, damit while true
mein Computer nicht abstürzt.
Ich habe es versucht pause(1)
, aber es heißt -bash: syntax error near unexpected token '1'
. Wie geht das?
sleep
! (pause
,,wait
oderdelay
würde mehr Sinn machen und leichter zu merken sein.)thread.sleep
Funktion in vielen Programmiersprachen haben @GeremiaUnd was ist mit:
quelle
PAUSE
In Python (Frage wurde ursprünglich mit Python markiert) müssen Sie das Zeitmodul importieren
oder
Für Shell-Skript ist nur
Welches führt den
sleep
Befehl aus. z.B./bin/sleep
quelle
python -c "import time; time.sleep(1)"
anstelle vonsleep 1
:)python -c "import time; time.sleep(0.8)"
stattdessen. Aber dann müssen wir berücksichtigen, wie lange der Python-Start tatsächlich dauert. Sie müssen dies ausführen: umdate +%N; python -c "import time; time.sleep(0)"; date +%N
zu bestimmen, wie viele Nanosekunden Python benötigt, um zu starten. Dazu gehört aber auch ein gewisser Overhead ab dem laufenden Datum. Führen Sie dies ausdate +%N; date +%N
, um den Overhead zu ermitteln. Pythons Overhead auf meinem Computer lag tatsächlich näher bei 0,14 Sekunden. Also ich willtime.sleep(0.86)
.Mir ist klar, dass ich damit etwas spät dran bin, aber Sie können auch den Schlaf anrufen und die gewünschte Zeit eingeben. Wenn ich beispielsweise 3 Sekunden warten möchte, kann ich Folgendes tun:
4 Sekunden würden so aussehen:
quelle
Unter Mac OS X dauert der Ruhezustand nicht Minuten / usw., sondern nur Sekunden. Also für zwei Minuten,
quelle
Führen Sie mehrere Sleeps und Befehle aus
Dies wird 5 Sekunden warten, bevor das erste Skript ausgeführt wird, und dann 3 Sekunden lang wieder in den Ruhezustand versetzt werden, bevor das Verzeichnis erneut geändert wird.
quelle
Innerhalb des Skripts können Sie zwischen den Aktionen, für die Sie die Pause wünschen, Folgendes hinzufügen. Dadurch wird die Routine für 5 Sekunden angehalten.
quelle
-t 5
wird das Skript nach 5 Sekunden abbrechen, nicht weiter, zumindest laut dieser Manpage zum Lesenread -r -p "Wait 5 seconds or press any key to continue immediately" -t 5 -n 1 -s
Fahren Sie fort, wenn Sie eine beliebige Taste drücken
quelle
Sie können es mit $ RANDOM, einem Standard-Zufallszahlengenerator, warten lassen. Im Folgenden verwende ich 240 Sekunden. Ich hoffe, das hilft @
quelle
Verwenden Sie Trap, um die Befehlszeile anzuhalten und zu überprüfen, bevor Sie sie ausführen
Drücken Sie eine beliebige Taste, um fortzufahren
quelle