所以我有一个自动备份脚本,每小时备份服务器的重要文件。
它有很多像这样的行,将输入发送到游戏服务器控制台正在运行的屏幕会话,以在开始备份文件时进行广播:
screen -x $SCREENNAME -X stuff "`printf "say Backing up world: \'$WORLD\'\r"`
它工作正常,除非我在屏幕会话中使用不同的窗口。
当我在同一屏幕会话中使用不同的窗口时,脚本尝试say Backing up world
在我正在使用的 bash 终端中执行,但这不起作用,并且没有消息发送到游戏控制台。
有什么方法可以将输出定向到 seesion 内的特定屏幕。我的游戏机始终位于第一个屏幕上,因此屏幕 0。
如果相关的话我使用的是 CentOS 7
答案1
您可以通过指定 -p 来预选择一个窗口,0 是第一个窗口,1 是第二个窗口,依此类推...
屏幕 -x $SCREENNAME -p 0 -X 东西“ printf "say Backing up world: \'$WORLD\'\r"
”