我在FreeBSD上有一个shell脚本,它将一些屏幕填充命令发送到正在运行的屏幕会话(运行一个Minecraft服务器)。 当我手动执行它时,这些命令起作用。
但是,如果我把相同的脚本放到同一个用户的crontab中,它会执行,但是屏幕填充命令不会到达正在运行的屏幕进程。
我已经检查了/ var / log / cron甚至是>> d输出到一个日志文件,我看到脚本中与屏幕命令无关的部分确实执行了。
我的shell脚本如下所示:
screen -S minecraft -X stuff "say Server is going to render the world now. " screen -S minecraft -X stuff "say You might feel some slight turbulence. " screen -S minecraft -X stuff "save-all " screen -S minecraft -X stuff "save-off " cd /home/minecraft/bin/mcmap-src ./mcmap /srv/minecraft/cascada screen -S minecraft -X stuff "save-on "
谁能帮我这个?
[编辑]
糟糕的是,它与执行用户没有任何关系,而是不得不使用path“/ usr / local / bin / screen”而不是“屏幕”。
固定!
从编辑到问题。
事实certificate,它与执行用户无关,而是所有必须使用path“/ usr / local / bin / screen”而不是“屏幕”。