【发布时间】:2013-01-08 07:10:55
【问题描述】:
我目前正在尝试找出一种从 Ruby 调用 Perl 脚本的方法,并让它像我在终端中一样输出,并允许我在需要时提供输入。
我已经想出了如何做到这一点并在事后获得输入,但由于 Perl 脚本仍在运行,我无法运行其他任何东西。
我应该注意我不能编辑 Perl 脚本。提供了这些脚本,并制作了这个 Ruby 脚本,以使运行所有 Perl 脚本的过程更容易,并确保它们的顺序正确。
upgradestatus = `#{upgradearray[arraylocation]}`
这将是我的代码的相关部分。我尝试了其他一些如何做到这一点的变体,但每次我都会遇到相同的情况。当脚本开始运行时,它需要输入,所以它就在那里。
【问题讨论】:
-
您的问题需要更清楚。也许您应该向我们展示您所做的事情或发布伪代码,以便我们可以看到您期望的输入、输出和控制流。
-
子进程通常会继承其父进程的句柄,包括 STDIN。这够好吗?
-
你能用this之类的东西从命令行调用perl吗?
-
我稍微更新了一下。除非我从那个链接中遗漏了一些东西。这些都是调用脚本的不同方式,但在脚本运行时不会输出。