我无法从 cron 使用 screen stuff 命令,但我可以从 shell 脚本中使用(同一用户)

我无法从 cron 使用 screen stuff 命令,但我可以从 shell 脚本中使用(同一用户)

我在 FreeBSD 上有一个 shell 脚本,它会向正在运行的 screen 会话(运行 Minecraft 服务器)发送一些 screen stuff 命令。当我手动执行它时,这些命令会起作用。

但是,如果我将相同的脚本放入同一用户的 crontab,它确实会执行,但屏幕内容命令无法到达正在运行的屏幕进程。

我已经检查了 /var/log/cron 甚至 >> 输出到日志文件,我发现与屏幕命令无关的脚本部分确实执行了。

我的 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
"

谁能帮我这个?

[编辑]

哎呀,事实证明这与执行用户无关,但与必须使用路径“/usr/local/bin/screen”而不是“screen”有关。

固定的!

答案1

从编辑到问题。

事实证明,这与执行用户无关,但与必须使用路径“/usr/local/bin/screen”而不是“screen”有关。

相关内容