我正在构建一个小脚本,我想在其中启动用户的 shell,但将其重定向为标准输入和标准输出,以便我可以在代码上控制它们。这可能吗?我已经尝试过使用这段代码(虽然这可能是错误的):
new_stdout, new_stdin = IO.pipe
pid = fork {
$stdout.reopen new_stdin
exec(ENV['SHELL'])
}
new_stdin.puts "Test"
Process.wait(pid)
这只不过是启动一个新的 shell 实例。
谢谢!