我试图制作一个苹果脚本,让我自动管理一个cpp项目。我也使用了詹金斯。
基本上,cpp项目是一种无限循环,它将在终端中执行。我设置Jenkins重建并每20秒执行一次。换句话说,我的电脑应该完成以下任务:
1)重建项目;
2)执行项目;
3)等待20秒;
4)关闭终端。
然而,当我到达4)时,会弹出一个对话框:你想要关闭这个窗口吗? 所以我必须点击按钮"关闭"。
我的问题是:如何用AppleScript编写代码来自动执行4)?
这是我的苹果:
tell application "Terminal"
do script "cd /Users/Shared/Jenkins/Home/workspace/test"
do script "make clean" in window 1
do script "make" in window 1
do script "./matrix.out" in window 1
delay 20
close window 1 # problem's here
end tell
答案 0 :(得分:0)
我想知道这是否有帮助: Running process in background after closing terminal
问题可能是你最后在终端中运行的是一个进程(matrix.out),它会因关闭窗口而被杀死,你不想要那个,对吧?因此,您可能需要使用所描述的技术(如果可能)更改matrix.out脚本,以防止它执行此操作。
也可以通过使matrix.out可执行文件(chmod为可执行文件或使用Kilometer)来解决您的问题,然后只需打开它即可解决问题。使用香草苹果。
答案 1 :(得分:0)
然而,当我到达4)时,会弹出一个对话框:你要关闭这个窗口吗?所以我必须点击“关闭”按钮。
但你也可以使用AppleScript (通过GUI脚本直播系统事件),所以到目前为止你所说的都不是问题。
tell application "Terminal" to activate
tell application "System Events"
tell application process "Terminal"
tell its window 1
tell its sheet 1
click button "Close"
end tell
end tell
end tell
end tell