有什么方法/代码片段可以让我们打开 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/