如何使用 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 那样直接..
关于javascript - Node.JS Child_Process 获取密码提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36073979/