【发布时间】:2020-11-16 17:39:47
【问题描述】:
我正在 Linux 中运行一个 Node.js 脚本,它会提示(通过lib)用户输入代码。我得到脚本的进程ID:
pgrep -f test.js
然后通过新行将代码传递给它以模拟 Enter 键:
echo -e "1234\n" > /proc/88888/fd/0
代码1234 被通过,也添加了一个新行,但它没有触发 Enter 键并且脚本没有继续。但是,当我在 shell 中手动按 Enter 键时,脚本会识别 Enter 键。所以问题是如何可靠地将 Enter 键发送到另一个进程/脚本?
下面是test.js脚本的代码:
inquirer = require('inquirer');
async function plztest() {
let { code } = await inquirer.prompt([
{
type: 'input',
name: 'code',
message: 'Enter code',
},
]);
console.log(code);
process.exit();
};
plztest();
【问题讨论】:
-
你能分享你提供数据的文件吗?以便可以测试任何可能的解决方案?
-
添加了 test.js 代码
标签: node.js bash command-line process inquirerjs