运行程序X次

运行程序X次

如何在终端中执行程序 X 次?

我读到我必须做一个 bin/bash txt,但我不知道如何执行这个 X 次。

答案1

您可以使用xargsseq。 一般来说:

seq nr_of_times_to_repeat | xargs -Iz command

例如:

seq 10 | xargs -Iz xdotool click 1

将执行该xdotool click 1命令10次。

答案2

打开终端并使用以下bash命令:

for i in {1..5}; do xdotool click 1; done

稍微冗长一点,并且有 1 秒的延迟:

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

答案3

这应该可以做到:

#!/bin/bash

x=1
while [ $x -le 10 ]
do
  <command to run>
  x=$(( $x + 1 ))
done

其中 10 是运行该命令的次数

如果你需要稍事休息:

#!/bin/bash

x=1
while [ $x -le 10 ]
do
  <command to run>
  sleep 1
  x=$(( $x + 1 ))
done

将脚本复制到一个空文件中,<command to run>用你的xdotool命令替换,保存为run_xdotool.sh,然后通过以下命令运行它:

sh /path/to/run_xdotool.sh

或者,您可以使其可执行,然后简单地运行它

/path/to/run_xdotool.sh

另一种解决方案:使用 xdotool 内置的重复选项

既然您提到使用它来执行点击,最简单的方法可能是使用xdotool自己的内置重复选项。格式为:

xdotool click --delay <delay> --repeat <repeats> <button>
(delay in milliseconds between the clicks)

要连续单击鼠标 10 次(按钮 1),每次间隔一秒,命令是:

xdotool click --delay 1000 --repeat 10 1

答案4

您可以使用 C 样式for循环,它比括号扩展版本 ( ) 的优势{1..5}在于能够使用变量来指定终点。任一版本都比使用外部实用程序 ( seq) 更好。

t=5
for ((x = 1; x <= t; x++))
do
    xdotool click 1
done

所有内容都在一行上:

t=5; for ((x = 1; x <= t; x++)); do xdotool click 1; done

或者您可能无需循环即可完成此操作(对于此特定的实用程序和功能):

xdotool click --repeat 5 --delay 50 1

相关内容