Wie führe ich ein Programm X-mal im Terminal aus?
Ich habe gelesen, dass ich einen bin / bash txt machen muss, aber ich weiß nicht, wie ich diesen X-mal ausführen soll.
command-line
user3597989
quelle
quelle
Antworten:
Sie können
xargs
und verwendenseq
. Allgemein:Beispielsweise:
Führt den
xdotool click 1
Befehl zehnmal aus.quelle
Öffnen Sie ein Terminal und verwenden Sie den folgenden
bash
Befehl:Mit ein bisschen Ausführlichkeit und 1s Verzögerung:
quelle
$
. Es ist nur dazu da, eine Shell-Eingabeaufforderung wie anzugebensylvain@sylvain-ThinkPad-T430s:~$
. Wir fügen es normalerweise zu Befehlszeilenantworten hinzu, um den Befehl von seinen Ergebnissen zu unterscheiden.Dies sollte tun:
Dabei ist 10 die Häufigkeit, mit der der Befehl ausgeführt wird
Wenn Sie eine kleine Pause einplanen müssen:
Kopieren Sie das Skript in eine leere Datei, ersetzen Sie es
<command to run>
durch Ihrenxdotool
Befehl, speichern Sie es unterrun_xdotool.sh
und führen Sie es mit dem Befehl aus:Alternativ können Sie es ausführbar machen und es einfach ausführen
Eine andere Lösung: Verwenden der integrierten Wiederholungsoption von xdotool
Da Sie erwähnen, dass es für Klicks verwendet werden soll, ist es möglicherweise am einfachsten, die
xdotool
integrierte Wiederholungsoption zu verwenden. Das Format ist:Der Befehl für 10 Mausklicks (Taste 1) in einer Reihe, eine Sekunde dazwischen, lautet:
quelle
Wenn Sie GNU Parallel haben, können Sie Folgendes ausführen:
Alle neuen Computer haben mehrere Kerne, aber die meisten Programme sind serieller Natur und verwenden daher nicht die mehreren Kerne. Viele Aufgaben sind jedoch extrem parallelisierbar:
GNU Parallel ist ein allgemeiner Parallelisierer, mit dem Sie auf einfache Weise Jobs auf demselben Computer oder auf mehreren Computern, auf die Sie ssh-Zugriff haben, parallel ausführen können.
Wenn Sie 32 verschiedene Jobs auf 4 CPUs ausführen möchten, können Sie auf einfache Weise 8 Jobs auf jeder CPU parallelisieren:
GNU Parallel erzeugt stattdessen einen neuen Prozess, wenn man fertig ist - die CPUs aktiv zu halten und damit Zeit zu sparen:
Installation
Für eine persönliche Installation ist kein Root-Zugriff erforderlich. Dies kann in 10 Sekunden geschehen:
Weitere Installationsoptionen finden Sie unter http://git.savannah.gnu.org/cgit/parallel.git/tree/README
Mehr erfahren
Weitere Beispiele finden Sie unter: http://www.gnu.org/software/parallel/man.html
Sehen Sie sich die Intro-Videos an: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
Gehen Sie durch das Tutorial: http://www.gnu.org/software/parallel/parallel_tutorial.html
Melden Sie sich für die E-Mail-Liste an, um Unterstützung zu erhalten: https://lists.gnu.org/mailman/listinfo/parallel
quelle
parallel -N0 doit ::: {1..10}
{1..10}
funktioniert nicht in (t) csh / fish / ash, und das{1..10}
Konstrukt ist durch die Länge der Befehlszeile begrenzt, sodass dies nicht funktioniert:{1..1000000000}
wohingegenseq 1000000000
es gut funktioniert. Aber in den meisten Situationen{1..10}
wird es wie erwartet funktionieren, und das nutze ich auch oft.Sie können eine
for
Schleife im C-Stil verwenden , die gegenüber der Version mit geschweiften Klammern ({1..5}
) den Vorteil hat , Variablen zum Angeben der Endpunkte verwenden zu können. Beide Versionen sind besser als die Verwendung eines externen Dienstprogramms (seq
).Alles in einer Zeile:
Möglicherweise können Sie auch auf eine Schleife verzichten (für dieses spezielle Dienstprogramm und diese Funktion):
quelle
Sie können einfach den Befehl watch verwenden:
Ändern Sie x in Zeit in Sekunden.
Beispiel:
Xdotool click 1 wird also alle 1 s wiederholt und beendet, wenn Sie fertig sind.
quelle