¿Cómo ejecuto un programa X veces en la terminal?
Leí que tengo que hacer un txt bin/bash, pero no sé cómo ejecutarlo X veces.
Respuesta1
Respuesta2
Abra una Terminal y use el siguiente bash
comando:
for i in {1..5}; do xdotool click 1; done
Con un poco de detalle y un retraso de 1 segundo:
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
Respuesta3
Esto debería hacer:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
x=$(( $x + 1 ))
done
donde 10 es el número de veces que se ejecuta el comando
Si necesita hacer un pequeño descanso:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
sleep 1
x=$(( $x + 1 ))
done
Copie el script en un archivo vacío, reemplácelo <command to run>
con su xdotool
comando, guárdelo como run_xdotool.sh
y ejecútelo con el comando:
sh /path/to/run_xdotool.sh
Alternativamente, puede hacerlo ejecutable y simplemente ejecutarlo mediante
/path/to/run_xdotool.sh
Otra solución: usar la opción de repetición integrada de xdotool
Dado que mencionas usarlo para hacer clics, lo más fácil podría ser usar xdotool
la opción de repetición incorporada. El formato es:
xdotool click --delay <delay> --repeat <repeats> <button>
(delay in milliseconds between the clicks)
Para hacer 10 clics del mouse (botón 1) seguidos, con un segundo de intervalo, el comando es:
xdotool click --delay 1000 --repeat 10 1
Respuesta4
Puede usar un for
bucle estilo C que tiene la ventaja sobre la versión de expansión de llaves ( {1..5}
) de poder usar variables para especificar los puntos finales. Cualquiera de las versiones es mejor que usar una utilidad externa ( seq
).
t=5
for ((x = 1; x <= t; x++))
do
xdotool click 1
done
Todo en una sola línea:
t=5; for ((x = 1; x <= t; x++)); do xdotool click 1; done
O podrías hacerlo sin un bucle (para esta utilidad y función específica):
xdotool click --repeat 5 --delay 50 1