Bash 脚本可以自己执行,但不能用 cron
Bash script executes fine on its own, but not with cron
我输入
crontab -e
我的 crontab 看起来像
*/1 * * * * /home/sara/Desktop/kioskscripts/reloadpage.sh >> /home/sara/Desktop/kioskscripts/logfile.log
日志文件在 /kioskscripts 中创建,但仍为空。
reloadpage.sh 看起来像这样
#!/bin/bash
sleep 5
/usr/bin/xdotool key F5
sh reloadpage.sh
按预期工作并模拟在执行后 5 秒按下 f5。
cron
执行的程序没有活动的 window,因此您需要使用 [=] 显式指定要将击键发送到哪个 window 11=]选项。
您可以使用 xdotool getactivewindow
获取当前活动 window 的 window id,然后在 xdotool
命令中使用该编号。或者您可以使用 xdotool search
和各种选项来找到您想要将击键指向的 window。阅读 man xdotool
了解各种搜索选项。 (您可以在一个命令中完成此操作:xdotool search --name Foo key F5
会将 F5 发送到名称中包含 FOO
的 window。)
但这只有在指定的 window 接受事件时才有效,而许多 windows 不接受。
我输入
crontab -e
我的 crontab 看起来像
*/1 * * * * /home/sara/Desktop/kioskscripts/reloadpage.sh >> /home/sara/Desktop/kioskscripts/logfile.log
日志文件在 /kioskscripts 中创建,但仍为空。
reloadpage.sh 看起来像这样
#!/bin/bash
sleep 5
/usr/bin/xdotool key F5
sh reloadpage.sh
按预期工作并模拟在执行后 5 秒按下 f5。
cron
执行的程序没有活动的 window,因此您需要使用 [=] 显式指定要将击键发送到哪个 window 11=]选项。
您可以使用 xdotool getactivewindow
获取当前活动 window 的 window id,然后在 xdotool
命令中使用该编号。或者您可以使用 xdotool search
和各种选项来找到您想要将击键指向的 window。阅读 man xdotool
了解各种搜索选项。 (您可以在一个命令中完成此操作:xdotool search --name Foo key F5
会将 F5 发送到名称中包含 FOO
的 window。)
但这只有在指定的 window 接受事件时才有效,而许多 windows 不接受。