从node.js项目中运行sh脚本可以使用child_process模块中的exec或spawn方法。这两个方法都可以执行shell命令或脚本。
const { exec } = require('child_process');
exec('sh script.sh', (error, stdout, stderr) => {
if (error) {
console.error(`执行脚本时出错:${error}`);
return;
}
console.log(`脚本输出:${stdout}`);
});
上述代码中,sh script.sh
是要执行的脚本命令,可以根据实际情况修改。exec方法会异步执行脚本,并在执行完成后调用回调函数。回调函数的参数中,error表示执行过程中的错误,stdout表示脚本的输出结果,stderr表示脚本的错误输出。
const { spawn } = require('child_process');
const script = spawn('sh', ['script.sh']);
script.stdout.on('data', (data) => {
console.log(`脚本输出:${data}`);
});
script.stderr.on('data', (data) => {
console.error(`脚本错误输出:${data}`);
});
script.on('close', (code) => {
console.log(`脚本执行结束,退出码:${code}`);
});
上述代码中,sh
是shell命令,['script.sh']
是要执行的脚本文件名,可以根据实际情况修改。spawn方法会创建一个子进程来执行脚本,并通过事件监听来获取脚本的输出和错误输出。stdout.on事件监听脚本的输出,stderr.on事件监听脚本的错误输出,close事件监听脚本执行结束。
以上是从node.js项目中运行sh脚本的方法,可以根据实际需求选择适合的方法。
领取专属 10元无门槛券
手把手带您无忧上云