Bash - 有没有办法在 运行 屏幕上执行命令?

Bash - Is there a way to execute a command on a running screen?

我正在 运行在基于 debian 9 的机器上安装一些 minecraft 服务器。这些不同的服务器在某些屏幕上 运行ning。

我已经用 cron 选项卡制作了一个备份脚本,但我的问题是我想在 minecraft 服务器的控制台上执行 "say Running backup, lag expected." 注入命令。问题是我在尝试 运行 在 运行 宁分离屏幕上执行命令时遇到了麻烦。

我尝试在我的脚本中添加类似的内容:

screen -d -r mcprivate -X stuff "say hello world"  
screen -d mcprivate

但这只是重新连接屏幕并打开它。它不执行命令也不执行say injected命令,它只是在reattach screen命令后停止脚本。

所以我的问题是:有没有办法在 运行ning 屏幕上执行 minecraft 服务器命令?

所以,我终于一个人麻烦了。

首先,我不知道为什么,但看起来当命令 screen -r mcprivate -X stuff "say hello world" 时它会自动重新连接和分离屏幕。所以我的代码的第二行甚至没有必要。为了避免 "say hello world" 的循环注入,我只是在末尾添加了一个 \n 字符。