我想谈谈一个互动的bash过程.
这是一个例子,所以你知道我想要的是什么:
你可以猜到,这里和那里有很多空间可以轻松操作...... ;-)
如果这也适用于子进程(由bash进程启动)和基于curses的程序,那将是非常好的.
我想在Ruby中实现这个功能,并且已经尝试过IO.popen,但奇怪的事情发生了.您也可以使用其他语言进行此操作.
好的,我找到了解决方案.这项工作非常好,你甚至可以在其中启动vim :-)
require "pty"
system("stty raw -echo")
PTY.spawn("bash -i") do |pin, pout|
Thread.new do
loop do
pout.print STDIN.getc.chr
end
end
loop do
print pin.sysread(512)
STDOUT.flush
end
end
Run Code Online (Sandbox Code Playgroud)
这样做如下:
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |