通过命名管道(而不是 STDIN/STDOUT)控制 IRB

发布于 2024-07-16 07:14:56 字数 100 浏览 3 评论 0原文

是否可以在命名管道上运行 Ruby IRB,以便我可以远程发送命令并获取结果?

一般来说,我想使用 IRB 引擎,同时拥有不同的 UI(可能是用 .Net 编写的)。

Is it possible to run Ruby IRB ver a named pipe, so I can send commands and get results remotely?

Generally I would like to utilize the IRB engine, while have a different UI (probably written with .Net).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

耀眼的星火 2024-07-23 07:14:56

我相信是这样 - 这对我有用(mac os x):

在终端 1 中:

mkfifo rpipe

在终端 2 中:

tail -f rpipe | irb

在终端 1 中:

echo "puts 'hi'" > rpipe

在终端 2 中(输出):

puts 'hi'
hi
nil

原始命令也被输出,这有点烦人,但是关闭...

I believe so - this worked for me (mac os x):

in terminal 1:

mkfifo rpipe

in terminal 2:

tail -f rpipe | irb

in terminal 1:

echo "puts 'hi'" > rpipe

in terminal 2 (output):

puts 'hi'
hi
nil

Kinda annoying that the original command is output as well, but close...

与酒说心事 2024-07-23 07:14:56

好像是(我刚刚尝试过); 只要通过你命名的 ppipe 来传输 I/O 就可以了。

但我要问,为什么?

具体来说,为什么不将其作为子进程运行呢?

It seems to be (I just tried it); just pipe the I/O through your named ppipe and you're good.

But I gotta ask, why?

Specifically, why don't you just run it as a subprocess?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文