使用node.js和coffeescript执行Ubuntu命令

使用node.js和coffeescript执行Ubuntu命令,node.js,coffeescript,Node.js,Coffeescript,我使用child\u process.exec在coffeescript中使用node.js执行Ubuntu命令。当我执行以下命令时: list = child_process.exec("ls") print list 它打印这个: [Object Object] 为什么不打印ls命令的正确输出?我应该怎么做才能获得正确的命令输出?您正在尝试同步运行异步函数。正确的方法是: var exec = require('child_process').exec; exec('ls', func

我使用
child\u process.exec
在coffeescript中使用node.js执行Ubuntu命令。当我执行以下命令时:

list = child_process.exec("ls")
print list
它打印这个:

[Object Object]

为什么不打印
ls
命令的正确输出?我应该怎么做才能获得正确的命令输出?

您正在尝试同步运行异步函数。正确的方法是:

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

exec('ls', function (error, stdout, stderr) {
    console.log(stdout);
});
资料来源:

如果确实希望同步执行命令,可以使用execSync。但是,我建议不要这样做,因为它会阻止节点代码在进程完成之前执行任何操作

ExecSync:

找到了! 可以使用->


print list.main.

它不工作。也许是咖啡脚本干扰了它。这是回溯的一部分:
[Wed Jun 24 2015 17:13:40 GMT+0530(IST)]错误无法加载/home/cube26/Desktop/hubot 2.0/scripts/滥用:SyntaxError:unexpected{at Object.exports.throwSyntaxError(/home/cube26/Desktop/hubot 2.0/node_modules/hubot/node_modules/coffee script/lib/coffee script/helpers.js:197:13)在Object.parser.yy.parseError(/home/cube26/Desktop/hubot 2.0/node_modules/hubot/node_modules/coffee script/lib/coffee script/coffee script.js:265:20)