OS X自动化JavaScript - 如果没有打开命令,就无法向终端发送命令

时间:2016-03-06 23:58:56

标签: javascript macos

当我在OS X脚本编辑器中运行以下代码并选择了javascript选项时," cd"和" cd desktop"由于我已经打开终端窗口,因此命令可以正常工作。

var Terminal = Application('Terminal');
Terminal.activate();
var targetWindow = Terminal.windows[0];
Terminal.doScript('cd', {in: targetWindow});
Terminal.doScript('cd Desktop', {in: targetWindow});

如果没有终端窗口打开,我怎样才能实现相同的功能。我正在尝试构建一个小应用程序,它将自动打开虚拟环境和运行Django服务器,但希望它能在没有终端窗口打开的情况下工作。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您可以通过导入AppKit然后启动应用程序来启动应用程序:

ObjC.import('AppKit')
$.NSWorkspace.sharedWorkspace.launchApplication('/Applications/Utilities/Terminal.app')

var Terminal = Application('Terminal');
Terminal.activate();
var targetWindow = Terminal.windows[0];
Terminal.doScript('cd', {in: targetWindow});
Terminal.doScript('cd Desktop', {in: targetWindow});