繁体   English   中英

Node.JS Child_Process捕获密码提示

[英]Node.JS Child_Process Catching Password Prompt

如何使用node.js child_process以编程方式允许我提供密码。

const spawn = require('child_process').spawn;
const ls = spawn('sudo ls');

ls.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

ls.stderr.on('data', (data) => {
  console.log(`stderr: ${data}`);
});

ls.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});

上面抛出一个错误。 我试图弄清楚我到底可以在哪里找到想要输入密码并通过环境变量提供密码的地方。

我希望当它说出“ Password检查”以确保其说出该密码然后传递密码时,我能够抓住它。

该错误是因为您使用了不正确的spawn命令。它应该是:

const ls = spawn('sudo', ['ls']);

子进程的参数指定为第二个参数(在数组中)。

然后,您应该看到提示输入密码的提示,并且我想能够写到stdin来输入密码(您希望根据您的发言从process.env传递该密码)。

编辑:对SO的快速搜索似乎表明它可能不如在提示符后写stdin那样直接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM