Wie führe ich ein Programm X-mal im Terminal aus?
Ich habe gelesen, dass ich einen Bin/Bash-Txt erstellen muss, weiß aber nicht, wie ich diesen X-mal ausführen kann.
Antwort1
Antwort2
Öffnen Sie ein Terminal und verwenden Sie den folgenden bash
Befehl:
for i in {1..5}; do xdotool click 1; done
Mit etwas Ausführlichkeit und 1 Sekunde Verzögerung:
for i in {1..5}; do echo click \#$i && xdotool click 1 && sleep 1; done
click #1
click #2
click #3
click #4
click #5
Antwort3
Dies sollte Folgendes bewirken:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
x=$(( $x + 1 ))
done
wobei 10 die Anzahl der Ausführungen des Befehls ist
falls du eine kleine Pause einbauen musst:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
sleep 1
x=$(( $x + 1 ))
done
Kopieren Sie das Skript in eine leere Datei, ersetzen Sie es <command to run>
durch Ihren xdotool
Befehl, speichern Sie es unter und run_xdotool.sh
führen Sie es mit dem Befehl aus:
sh /path/to/run_xdotool.sh
Alternativ können Sie es ausführbar machen und es einfach ausführen, indem Sie
/path/to/run_xdotool.sh
Eine andere Lösung: Verwenden Sie die integrierte Wiederholungsoption von xdotool
Da Sie erwähnen, dass es zum Klicken verwendet werden soll, ist es möglicherweise am einfachsten, xdotool
die integrierte Wiederholungsoption von zu verwenden. Das Format ist:
xdotool click --delay <delay> --repeat <repeats> <button>
(delay in milliseconds between the clicks)
Um 10 Mausklicks (Taste 1) hintereinander mit einer Sekunde Pause dazwischen auszuführen, lautet der Befehl:
xdotool click --delay 1000 --repeat 10 1
Antwort4
Sie können eine Schleife im C-Stil verwenden for
, die gegenüber der Klammererweiterungsversion ( {1..5}
) den Vorteil hat, dass Sie Variablen verwenden können, um die Endpunkte anzugeben. Beide Versionen sind besser als die Verwendung eines externen Dienstprogramms ( seq
).
t=5
for ((x = 1; x <= t; x++))
do
xdotool click 1
done
Alles in einer Zeile:
t=5; for ((x = 1; x <= t; x++)); do xdotool click 1; done
Oder Sie können es möglicherweise ohne Schleife tun (für dieses spezielle Dienstprogramm und diese Funktion):
xdotool click --repeat 5 --delay 50 1