var spawn = require("child_process").spawn;
var child = spawn("scp" , ["-P9022", path_to_file, scp_remote_path])
child.stdout.on("data", function(){
//Automatically type in password
})
我正在尝试 scp 进入删除服务器并自动输入密码(我知道,我应该改用公钥身份验证,但这不是重点)。当我运行显示的代码时,我得到了正确的密码提示;无论如何我可以通过代码检测到所述提示的存在吗?在这种情况下,似乎没有触发“数据”事件。
编辑:不确定这是否重要,但 process.stdout.isTTY 是真的。当然,然后我尝试像这样监听 process.stdin 的可读事件
process.stdin.on "readable", ()->
buf = process.stdin.read()
buf2 = process.stdout.read()
console.log "pin", buf, buf2
回调被调用,但 buf 和 buf2 均为空