相关疑难解决方法(0)

node.js shell命令执行

我仍然试图掌握如何运行linux或windows shell命令以及在node.js中捕获输出的更好点; 最终,我想做这样的事......

//pseudocode
output = run_command(cmd, args)
Run Code Online (Sandbox Code Playgroud)

重要的是output必须可用于全局范围的变量(或对象).我尝试了以下功能,但出于某种原因,我被undefined打印到控制台......

function run_cmd(cmd, args, cb) {
  var spawn = require('child_process').spawn
  var child = spawn(cmd, args);
  var me = this;
  child.stdout.on('data', function(me, data) {
    cb(me, data);
  });
}
foo = new run_cmd('dir', ['/B'], function (me, data){me.stdout=data;});
console.log(foo.stdout);  // yields "undefined" <------
Run Code Online (Sandbox Code Playgroud)

我无法理解代码在上面的位置......这个模型的一个非常简单的原型工作......

function try_this(cmd, cb) {
  var me = this;
  cb(me, cmd)
}
bar = new try_this('guacamole', function (me, cmd){me.output=cmd;})
console.log(bar.output); // yields "guacamole" <----
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我理解为什么try_this()有效,而run_cmd() …

javascript shell node.js

110
推荐指数
4
解决办法
15万
查看次数

标签 统计

javascript ×1

node.js ×1

shell ×1