如何在新的终端/选项卡中运行命令,但在任何操作系统上使用cli保留在原始终端/选项卡中?

时间:2018-01-02 22:13:15

标签: python node.js command-line-interface

假装这是我的 package.json

{
   doStuff: npm run A && npm run B,
   A: openTerminal && python -m SimpleHTTPServer 8888
   B: doTestStuff
}

我想在终端中npm run doStuff

脚本A将打开一个新的终端或选项卡并运行一个python简单服务器。

脚本B将保留在原始终端/选项卡中,并对脚本A中提供的内容进行测试。

我正在寻找一种可在任何操作系统上运行的通用解决方案,即使这意味着运行不能在目标操作系统上运行的命令也可以运行。

这可能还是我只是在做梦?

1 个答案:

答案 0 :(得分:0)

在Mac上,您可以在macOS上使用标签式终端应用,例如iTerm2。您还可以使用AppleScript启动终端窗口并运行特定脚本。具体实施取决于您的操作系统。

例如,此AppleScript在终端中打开一个新选项卡:

ActiveReports._ensureIndex({ date: 1, userId: 1 }, { unique: true });

另一种选择是使用Node.js包osascript -e 'tell application "Terminal" to activate' -e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' available on NPM

示例1:

ttab

示例2:

ttab 'npm run script_name'