javascript - Node.JS Child_Process 获取密码提示

标签 javascript node.js

如何使用 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/

相关文章:

javascript - 如何使用内联 JSDoc 指示参数是可选的?

javascript - pty.js 安装错误?

node.js - Bluebird - promisification - promisifyAll of 'email-templates' Node 模块 - 发送邮件

javascript - react Hook : what is best practice for wrapping multiple instances of a hook with a single hook?

javascript - 使用 localStorage 记住用户是否已经投票

javascript - 闪烁的下拉菜单

Javascript Chrome 扩展程序不显示结果

javascript - Sails.js - Controller 问题

node.js - 如何使用 Node.js 加密创建一对私钥/公钥?

javascript - 如何在 node.js 事件监听器中获取事件名称?