如何使用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
检查以确保其说出然后传递密码。
答案 0 :(得分:3)
错误是因为你错误地使用了spawn命令..它应该是:
const ls = spawn('sudo', ['ls']);
将子进程的参数指定为第二个参数(在数组中)。
然后你应该看到密码的提示,我想能够写入stdin输入密码(你根据你所说的内容,你想要从process.env传递密码)。
编辑:快速搜索SO似乎表明它可能不是那么直接并且在提示后写入stdin ..