【发布时间】:2016-11-13 16:58:43
【问题描述】:
我正在通过child_process.spawn() 运行.bin 文件,该文件在完成设置之前接受用户的一些输入。通过process.stdin.write("input"\n); 正确获取所有输入似乎工作正常。但是,当密码通过标准输入发送时,同样不起作用。直接运行bin 文件并手动输入密码即可。在通过 node.js 发送密码之前,我应该设置一些格式吗?我只是不断看到* 不断登录到标准输出,并且设置似乎没有进一步进行。下面是我正在使用的 sn-p
var child_process = require('child_process');
var process = child_process.spawn('./test.bin');
process.stdout.on('data', function(data) {
if(data.toString().trim() === 'Username:')
process.stdin.write("test\n"); // This works
else if (data.toString().trim() === 'Password:')
process.stdin.write("password\n"); //This doesn't
任何关于相同的输入可能会有所帮助。谢谢。
请注意,当直接运行bin文件输入密码时,输入密码时没有任何显示,但输入正确的密码有效。因此,我认为可能存在一些编码问题或类似的问题。
【问题讨论】:
标签: node.js stdin child-process