如何在终端中执行程序 X 次?
我读到我必须做一个 bin/bash txt,但我不知道如何执行这个 X 次。
答案1
答案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