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

我正在使用child_process.exec在coffeescript中使用node.js执行Ubuntu命令。 当我执行以下命令时:

 list = child_process.exec("ls") print list 

它打印这个:

 [Object Object] 

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

您正尝试同步运行asynchronousfunction。 正确的方法是:

 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。 不过,我build议不要这样做,因为它会阻止你的节点代码做任何事情,直到过程结束。

ExecSync: https ://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options

find了! 可以使用 – >来访问

print list.main.<attribute_name>