Node.js 中的
execSync
方法可以同步地执行一个 shell 命令,并返回其输出结果。
具体来说,
execSync
方法的用法如下:
const { execSync } = require('child_process');
const output = execSync('command');
console.log(output.toString());
其中,command 是要执行的 shell 命令,output 是命令执行的输出结果,它是一个 Buffer 对象,需要使用 toString() 方法将其转换成字符串才能输出。
除此之外,execSync 方法还支持一些选项,可以在执行命令时传入。例如:
const { execSync } = require('child_process');
const options = { encoding: 'utf-8' };
const output = execSync('command', options);
console.log(output);
在这个例子中,我们通过 options 对象指定了输出的编码格式为 utf-8,这样输出结果就可以直接作为字符串输出了。
需要注意的是,execSync 方法会阻塞当前线程,直到命令执行完毕并返回结果。因此,如果要执行一个耗时较长的命令,最好使用异步方式来执行,以免阻塞主线程导致程序失去响应。