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
方法会阻塞当前线程,直到命令执行完毕并返回结果。因此,如果要执行一个耗时较长的命令,最好使用异步方式来执行,以免阻塞主线程导致程序失去响应。