如何从console.log获取文本标准输出(require(“child_process”)。execSync('ls'))?

时间:2017-09-29 05:40:35

标签: node.js child-process

如何从console.log(require("child_process").execSync('ls'))

打印标准输出

我试过ts

import { execSync } from 'child_process';
console.log(execSync('ls -la'));

然后编译为js:

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const child_process_1 = require("child_process");
console.log(child_process_1.execSync('ls -la'));

但是当我运行它时,我只得到缓冲区如何获取stdout?

$ node app.js
$ <Buffer 74 6f 74 61 6c 20 38 38 0a 64 72 77 78 72 2d 78 72 2d 78 20 20 31 31 20 74 6f 6d 65 72 2e 62 65 6e 64 61 76 69 64 20 20 73 74 61 66 66 20 20 20 20 33 ... >

我缺少什么?如何获得文本标准输出?

1 个答案:

答案 0 :(得分:2)

你的最后一行应该是:

console.log(child_process_1.execSync('ls -la').toString());

execSync返回一个缓冲区,只需在缓冲区上调用toString即可将缓冲区的内容作为字符串。