Geben Sie einer while
Schleife eine boolesche Bedingung wie folgt:
#!/bin/bash
while true; do
do_something && wait
done
Dies wird immer wieder ausgeführt, bis die Bash ein Signal zum Beenden des Prozesses erhält. Normalerweise in Form von ctrl+c
.
Sie können den watch
Befehl auch verwenden , um ein Skript wiederholt auszuführen. Zum Beispiel könnte eine einfache Uhr in Ihrem Bash-Terminal folgendermaßen watch
aussehen:
$ watch -t -n1 date +%T
Die -t
Option gibt watch
an, dass kein Titel des ausgeführten Prozesses angezeigt werden soll. Dadurch erhalten Sie eine saubere Ausgabe nur des Befehls, der wiederholt wird. Die -n1
Option weist die Uhr an, sich alle n
Sekunden zu wiederholen . In diesem Fall -n1
werden Intervalle von 1
Sekunden sein. Dann date +%T
zeigt der Befehl die Zeit zum Zeitpunkt der Befehlsbeendigung an. Durch Ausführen dieses Befehls erhalten Sie eine aktive Uhr in Ihrem Terminal.
Und dann wäre eine weitere Methode, die in keiner der anderen Antworten enthalten ist, ein unendlicher Funktionsaufruf.
do_something() { do_something }; do_something && wait
Dies ist im Wesentlichen dasselbe wie die Boolesche while
Schleife, die nur rekursive Funktionsaufrufe verwendet.
(Bearbeiten) Um die Ressourcen Ihres Rechners im Auge zu behalten, habe ich die hinzugefügt, && wait
damit jedes Mal, wenn ein Prozess ausgeführt wird, die Schleifen "warten", bis dieser Prozess mit dem Beendigungsstatus 0 endet, bevor die nächste Iteration erfolgt. Dies ist in einem interaktiven Shell-Skript nützlich.