1
我試圖執行shell命令的執行,我發現在這裏:node.js shell command executionShell命令執行
所以我試圖讓第二個答案(由克里斯Eineke)工作。但現在我沒有輸出。
這裏是我的嘗試:
run_cmd = (cmd, args, done) ->
spawn = require('child_process').spawn
child = spawn(cmd, args)
result = { stdout: '' };
child.stdout.on \data ! (buffer) ->
result.stdout += buffer
child.stdout.on \end !-> done()
result
dir = run_cmd(
'ls', ['-a']
, !-> console.log('done')
)
console.log dir.stdout
其編譯爲:
run_cmd = function(cmd, args, done){
var spawn, child, result;
spawn = require('child_process').spawn;
child = spawn(cmd, args);
result = {
stdout: ''
};
child.stdout.on('data', function(buffer){
result.stdout += buffer;
});
child.stdout.on('end', function(){
done();
});
return result;
};
dir = run_cmd('ls', ['-a'], function(){
console.log('done');
});
console.log(dir.stdout);
但我不能看到ls
結果。我的錯誤在哪裏?或者我做錯了什麼?