在Ruby中显示和解析实时命令行输出

时间:2011-07-10 21:35:52

标签: ruby pipe

我正在为CraftBukkit(Minecraft成名)编写命令行Ruby gem。

因此,CraftBukkit的.jar文件可以像任何命令行服务器接口一样运行:它接受用户输入并在管理员按下Enter键时将其发送到服务器,同时显示服务器事件的实时馈送。

直接在命令行中执行,然后

java -Xmx1024M -Xms1024M -jar craftbukkit.jar

功能完美。我需要在Ruby gem中执行相同的命令,并以相同的方式接受用户输入。我目前正在使用%x{},如此:

%x{java -Xmx1024M -Xms1024M -jar craftbukkit.jar}

这个功能相当不错,因为它显示输出,并执行在命令行窗口中输入的命令。但是,它不会在输入时显示用户输入。

我需要解决这个问题。我可以使用哪些Ruby命令/框架来完美地构建java命令功能?

如果可能的话,我也希望能够解析输出。

我正在使用Clamp来解析命令行参数,如果这很重要的话。

1 个答案:

答案 0 :(得分:3)

确实

system "java -Xmx1024M -Xms1024M -jar craftbukkit.jar"

做你想做的事?它至少应该显示输入和输出。或者你想解析Ruby中的输出吗?