node.js child_process.spawn 输出到控制台奇数格式

标签 node.js console console.log

我正在尝试编写一个小包装器来通过nodejs执行shell命令并将命令的输出打印到控制台。到目前为止我已经完成了,但是控制台中的输出格式......很尴尬,我不知道为什么。 :(

#!/usr/bin/env node

var fs = require('fs');
var spawn = require('child_process').spawn;

MyWrapper( "ls", ["-l"], function(text) {

        console.log(text)
        fs.appendFileSync('testlog.txt', text)
});

function MyWrapper(cmd, args, callBack) {

        var child = spawn(cmd, args)
        var response = ""

        child.stdout.on('data', function (buffer) { response += buffer.toString() });
        child.stdout.on('end', function() { callBack (response) });
}

teSTLog.txt 完全没问题:

total 5
drwxrwxr-x+ 1 user user   114 Feb 26 23:09 test.git
-rw-rw-r--+ 1 user user  7524 Feb 27 12:45 testlog.txt
-rw-rw-r--+ 1 user user   524 Feb 27 01:17 test.txt

但是控制台输出是:

total 5

drwxrwxr-x+ 1 mmay mmay  114 Feb 26 23:09 test.git

                                                  -rw-rw-r--+ 1 git  git  7750 Feb 27 12:47 testlog.txt

                                                                                                        -rw-rw-r--+ 1 git  git   524 Feb 27 01:17 test.txt

我不知道如何解决它......任何提示都会很棒:)

最佳答案

呃呃,犯了一个愚蠢的错误。

登录时通过authorized_keys中的命令调用脚本。还有 no-pty 标志。

关于node.js child_process.spawn 输出到控制台奇数格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28764594/

相关文章:

node.js - Mongoose model.find 查询字符串

node.js - 重定向后编辑响应(node.js 和express)

c# - 您将如何从现有的面向对象的 API 创建控制台应用程序?

r - 在 R/Emulating R 控制台中解析多行表达式

javascript - 为我的家庭作业设计 Javascript 刽子手猜谜游戏,但无法让代码工作

javascript - 为什么我的 Javascript 将未记录的值记录到 CodeCademy 控制台?

node.js - MongoDB 中的集群以及它如何获取核心

scala - 无法使用 IntelliJ SBT 控制台导入

node.js - Console.log(err) 使我的网站崩溃

javascript - 多次调用 google 表格时,API 身份验证不适用于第二次调用 : Request had insufficient authentication scopes