我正在屏幕会话中运行一个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脚本,今天已经学到了很多东西。我似乎无法做到这一点。
答案 0 :(得分:2)
一种方法是同时运行tail -f mct
命令,该命令从控制台读取并写入同一个匿名管道:
( tail -f mct & cat ) | java -Xincgc -Xmx2048M -jar minecraft_server.jar