在MacOS中使用Node.js打开新的终端窗口

3
我想在 macOS 上打开一个新的终端窗口。
const cp = require('child_process');

function terminal() {
    switch (process.platform) {
        case "win32":
            cp.spawn('cmd', ['/C', 'start cmd.exe']); return true;
        case "darwin":
            cp.spawn(`open ${process.env.SHELL}`, [], {cwd: '/'}); return true;
            // console.log(process.env); return false;
        default:
            return false;
    }
}

exports.run_terminal = terminal;

这段代码在Windows平台上运行良好,但在MacOS上不起作用。

2个回答

3

解决了

cp.exec('open -a Terminal ' + process.env.HOME);

翻译:执行此代码将在终端中打开当前用户的主目录。

-1
import {exec} from "child_process";
import os = require("os");
var osascript = require('osascript');

// i would try somethink like this maybe ?
if (os.platform() == 'darwin') {
  osascript -e 'tell application "Terminal" to activate '
}

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