如何从节点应用程序启动交互式 bash 脚本?

How can I start an interactive bash script from a node app?

我正在 Node 中构建一个命令行应用程序,它基本上是一个设置向导。在脚本中的某个时刻,我想启动一个 openssl 脚本,它有自己的标准输出和提示,然后理想情况下 return 到我的 Node 应用程序。

我试过使用 spawn,但无法显示标准输出。这实际上可能吗?

是的,这是可能的,您可以像这样将标准输入和输出通过管道传输到您的父进程,

// Child will use parent's stdios
spawn('yourcommand', [], { stdio: 'inherit' });

第一个参数是你的命令,第二个参数是命令参数,第三个参数是如何处理标准输入和输出,

有关详细信息,请参阅此文档, https://nodejs.org/api/child_process.html#child_process_options_stdio