0

我已经编写了一个脚本来作为我的 Ubuntu 发行版上的自动点击器。点击有效,但“睡眠”命令似乎无法正常工作。如果我取出点击并从终端运行它,那么睡眠会按预期工作。但是当我将它绑定到快捷方式并在玩游戏时运行它时,它不会睡觉,它似乎只是一直在点击。

 #!/bin/bash
counter=0     #number of iterations executed
loop_to=1800  #number of iterations to do
break_interval=10 #time to break, in seconds
click_interval=.5 #time between iterations, in seconds
break_at=15   #how many iterations before taking a break


while [ $counter -lt $loop_to ]; do
    xdotool click 1
    sleep $click_interval
    echo $counter
    let counter=counter+1
    if [[ $(( $counter % $break_at )) == 0 ]]; then   
        sleep $break_interval
        echo I slept
    fi
done

最重要的睡眠是 break_interval 睡眠,因为那是暂停自动点击器 x 时间。

4

1 回答 1

0

考试:

[[ $(( $counter % $break_at )) == 0 ]]

可以写成:

[ $(( $counter % $break_at )) -eq 0 ]

[[ x == y ]]是特定于 bash 的并测试字符串是否相等。

[ x -eq y ]适用于任何 POSIX shell 并测试整数相等。

正如@cdarke 所指出的,您的 shebang 行不正确,前两个字符必须是#!,因此您可能/bin/sh要运行它。

于 2017-09-11T21:43:54.533 回答