gpt4 book ai didi

javascript - 打开终端并通过 JS/NodeJS 执行 CLI 命令

转载 作者:行者123 更新时间:2023-12-04 18:25:54 29 4
gpt4 key购买 nike

有什么方法/代码片段可以让我们打开 Ubuntu 终端并通过 JavaScript/Node.js 或任何基于 UI 的语言执行终端命令?

最佳答案

您可以通过 childProcess native API 从 nodeJs 运行任何 shell 命令(无需安装任何依赖项)

简单方法

var { exec } = require('child_process'); // native in nodeJs

const childProcess = exec('git pull');

处理日志和错误的代码段

我经常有一堆 cli 命令要处理,所以我创建了这个简单的帮助程序。它处理错误、退出并可以在您的脚本中等待以匹配不同的场景

async function execWaitForOutput(command, execOptions = {}) {
return new Promise((resolve, reject) => {
const childProcess = exec(command, execOptions);

// stream process output to console
childProcess.stderr.on('data', data => console.error(data));
childProcess.stdout.on('data', data => console.log(data));
// handle exit
childProcess.on('exit', () => resolve());
childProcess.on('close', () => resolve());
// handle errors
childProcess.on('error', error => reject(error));
})
}

我可以这样使用:

await execWaitForOutput('git pull');
// then
await execWaitForOutput('git pull origin master');
// ...etc

关于javascript - 打开终端并通过 JS/NodeJS 执行 CLI 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53597822/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com