我正在使用 `xprintidle` 在 X 秒不活动后触发 bash 脚本。我如何让它循环?

I am using `xprintidle` to trigger a bash script after X seconds of inactivity. How do I make it loop?

我正在使用 xprintidle 在 X 秒不活动后触发 bash 脚本。

#!/bin/bash
idletime=$((3*1000)) # 3 seconds in milliseconds
                     # For testing purposes, I am
                     # using 3 seconds.
idle=0

while [ $idle -lt $idletime ];do
    idle=`xprintidle`
    sleep 1
done

/my/bash/script/

上面的脚本有效,但只运行一次。如何使脚本循环?

附上 while true 以便它永远运行:

while true; do
    idle=0
    while [ $idle -lt $idletime ];do
        idle=`xprintidle`
        sleep 1
    done
    /my/bash/script
done

你可以写得更简洁:

while true; do (($(xprintidle) >= 3000)) && myscript; sleep 1; done

但是,同样的事情