来自2个来源的节目输入?

时间:2012-02-21 00:00:01

标签: bash

我正在屏幕会话中运行一个Minecraft服务器。我也使用命名管道,以便从其他脚本向Minecraft服务器发送命令。

我可以在屏幕会话中看到服务器的输出,但我无法输入任何内容。无论如何我都期待这个,因为我从命名管道获取输入。

这是我开始运行的所有行:

screen -S minecraft sh startup.sh

这是startup.sh:

#!/bin/bash
rm mct
if [ ! -p mct ]; then
    mkfifo mct && chmod 0777 mct
fi

tail -f mct | java -Xincgc -Xmx2048M -jar minecraft_server.jar

我希望能够从屏幕会话和命名管道输入命令。有没有办法可以做到这一点?我现在正在搞乱bash脚本,今天已经学到了很多东西。我似乎无法做到这一点。

1 个答案:

答案 0 :(得分:2)

一种方法是同时运行tail -f mct命令,该命令从控制台读取并写入同一个匿名管道:

( tail -f mct & cat ) | java -Xincgc -Xmx2048M -jar minecraft_server.jar