Node.js 执行 shell 命令 主进程获取返回值

代码 (必须同步)#

var exec = require('child_process').execSync;
var str = exec('pwd');
console.log(str.toString("utf8").trim());

知识点#

node buffer#

buf = Buffer.alloc(26);
for (var i = 0 ; i < 26 ; i++) {
  buf[i] = i + 97;
}
console.log( buf.toString('ascii'));       // 输出: abcdefghijklmnopqrstuvwxyz
console.log( buf.toString('ascii',0,5));   // 输出: abcde
console.log( buf.toString('utf8',0,5));    // 输出: abcde
console.log( buf.toString(undefined,0,5)); // 使用 'utf8' 编码, 并输出: abcde

异步#

    child_process.spawn(command[, args][, options])
    options.stdio
    options.detached
    options.customFds
    child_process.exec(command[, options], callback)
    child_process.execFile(file[, args][, options][callback])
    child_process.fork(modulePath[, args][, options])

同步#

    child_process.spawnSync(command[, args][, options])
    child_process.execFileSync(command[, args][, options])
    child_process.execSync(command[, options])
本作品采用《CC 协议》,转载必须注明作者和本文链接
Vckin
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。