gpt4 book ai didi

node.js - 从命令行向 Node.js 脚本发送字符串和回车键

转载 作者:行者123 更新时间:2023-12-04 15:13:06 26 4
gpt4 key购买 nike

我在 Linux 中运行一个 Node.js 脚本,提示(通过 lib)用户输入代码。我得到脚本的进程 ID:

pgrep -f test.js 

然后用新行将代码传递给它以模拟回车键:

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();

最佳答案

感谢您提供 javascript 文件的代码片段,我已经找到了相同的解决方案。

问题

是你对管道和重定向的用法有点迷糊。

  • 管道 | 用于将输出传递给另一个程序或实用程序。
  • Redirect > 用于将输出传递到文件或流。

关于管道和重定向的更详细的回答 is given here

解决方案

既然现在我们知道我们需要在这里使用管道,那么这样的事情就可以解决问题。

echo -e "1234" | /proc/88888/fd/0

测试

我运行了你在问题中提供的脚本,以下是输出截图。 Local Screenshots of script

关于node.js - 从命令行向 Node.js 脚本发送字符串和回车键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64852599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com