是否可以在命名管道上运行 Ruby IRB,以便我可以远程发送命令并获取结果?
一般来说,我想使用 IRB 引擎,同时拥有不同的 UI(可能是用 .Net 编写的)。
我相信是这样 - 这对我有用(mac os x):
在 1 号航站楼:
mkfifo rpipe
在 2 号航站楼:
tail -f rpipe | irb
在 1 号航站楼:
echo "puts 'hi'" > rpipe
在终端 2(输出)中:
puts 'hi'
hi
nil
有点烦人的是原始命令也被输出,但关闭......
好像是(我刚试过);只需通过您命名的 ppipe 管道 I/O 就可以了。
但我要问,为什么?
具体来说,你为什么不把它作为一个子进程运行呢?