从TypeScript运行任何Linux终端命令?

6
有没有一种方法可以直接从TypeScript类中执行Linux终端命令?想法是类似于以下内容:
let myTerminal = new LinuxTerminal();
let terminalResult = myTerminal.run("sudo apt-get update");

编辑:

我使用Node JS和Angular运行此程序。


你是在 Node JS 环境下运行吗?从浏览器中无法实现这个。这与 TypeScript 有什么关系?在纯 JavaScript 中之前它是否可行? - Omri Luzon
@OmriLuzon 是的,我是通过 Node JS 和 Angular 运行这个程序的。我只是想弄清楚这是否可能。我已经将这段信息添加为 EDIT - Socrates
那么它应该是“从node.js运行任何Linux终端命令”? - Kristianmitk
@Kristianmitk 那会解决问题。你知道任何解决方案吗? - Socrates
@Socrates,我的回答解决了你的问题吗?否则,请提供更多信息。 - Kristianmitk
1个回答

15

Node.js 中,您可以生成一个子进程


const { exec } = require('child_process');

exec('sudo apt-get update', (err, stdout, stderr) => {
  // your callback
});

如果我通过Electron运行我的应用程序,它可以正常工作,但是如果我通过Chrome等浏览器运行它,则会阻止exec(...)。 我认为这必须是由于Chrome内部的安全原因,对吗? - Socrates
1
是的,你在浏览器中运行的 JavaScript 代码没有与底层系统通信的能力(这是一个合理的限制)。你总是需要一个后端(服务器)作为中介。 - Kristianmitk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接