使用 Node.js 自动将文本写入控制台

2023-12-08

我需要使用 SSH 和 Node.js 脚本克隆 GitHub 存储库:

var exec = require('child_process').exec;

exec('git clone [email protected]:jquery/jquery.git',
    function (error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
            console.log('exec error: ' + error);
        }
    }
);

如果 github.com 不在known_hosts文件中,SSH 强制在“您确定要继续连接(是/否)吗?”问题上输入“是”。

如何自动输入该文本?

附:我知道关于StrictHostKeyChecking=no,但我需要克隆存储库而不更改 SSH 配置。


当然,这是完全可能的。你打电话时child_process.exec,它实际上返回一个ChildProcess目的。它包含一个.stdin对象是一个的实现Writable Stream,您可以通过管道传输/写入。有关的文档子进程.stdin,也于可写流.

这是与您的问题相关的一些示例代码:

var exec = require('child_process').exec;

var cmd = exec('git clone [email protected]:jquery/jquery.git', function (error, stdout, stderr) {
    // ...
});

cmd.stdin.write("yes");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Node.js 自动将文本写入控制台 的相关文章

随机推荐