我想为自定义屏幕保护程序写一个简单的bash脚本,我想要简单的去黑屏,如果在闲置,并返回正常,如果不是。条件评估意外
#!/bin/bash
#sets display gamma very low, for screensaver purposes
idle=false
idle_after=3000 #in milliseconds
while true; do
#if system is idle
if [[ idle_now=$(xprintidle) -gt "$idle_after" && "$idle"=false ]] ;then
echo "1"
`xrandr --output HDMI-0 --brightness 0.01`
idle=true
fi
if [[ idle_now=$(xprintidle) -lt "$idle_after" && "$idle"=true ]] ; then
echo "2"
`xrandr --output HDMI-0 --brightness 1` #set screen back to normal
exit
fi
done
我真的不知道为什么第二个查询是先执行的。 我认为空闲变量在启动时初始化为“false” 有人可以向我解释这一点吗?如果有人对我的方法给予改进,我将非常感激,谢谢
有你的脚本,将通过http://www.shellcheck.net/ –
标识除了在条件语句的问题的一些基本问题,为什么你在'xrandr'命令周围有反引号?这需要命令的输出(如果有的话),并尝试执行它作为一个命令......我不认为这是'xrandr'如何工作。 –