我正在使用child_process.exec
来执行带有coffeescript中的node.js的Ubuntu命令。当我执行以下命令:使用node.js和coffeescript执行Ubuntu命令
list = child_process.exec("ls")
print list
它打印这样的:
[Object Object]
为什么不打印ls
命令的适当的输出?我应该怎么做才能获得适当的命令输出?
我正在使用child_process.exec
来执行带有coffeescript中的node.js的Ubuntu命令。当我执行以下命令:使用node.js和coffeescript执行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);
});
来源:https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback
如果你真的希望同步执行一个命令,就可以使用execSync。不过,我建议不要这样做,因为它会阻止你的节点代码做任何事情,直到过程结束。
ExecSync:https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options
找到了! 可以使用访问 - >
print list.main.<attribute_name>
这是行不通的。也许咖啡是干扰它的。这是回溯的一部分:[Wed Jun 24 2015 17:13:40 GMT + 0530(IST)]错误无法加载/ home/cube26/Desktop/hubot 2.0/scripts/abuse:SyntaxError:unexpected { Object.exports.throwSyntaxError(/ home/cube26/Desktop/hubot 2.0/node_modules/hubot/node_modules/coffee-script/lib/coffee-script/helpers.js:197:13) at 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) ' –