我正在使用一个命令行应用程序在AppleScript中,我需要脚本等待进程运行完毕才能继续。(是的,我想要终端打开并看到应用程序运行。)
我根据一个现有的问题编写了以下代码:
activate application "Terminal"
tell application "System Events"
repeat until visible of process "Terminal" is true
end repeat
end tell
tell application "System Events" to keystroke "app_name option"
tell application "System Events" to keystroke return
delay 2
set thePID to do shell script "app_name option > /dev/null 2>&1 & echo $!"
repeat
do shell script "ps ax | grep " & thePID & " | grep -v grep | awk '{ print $1 }'"
if result is "" then exit repeat
delay 2
end repeat
-- more code...
我的脚本中一切都正常,除了需要等待命令行应用程序完成的部分。
我该如何让它工作?从 set thePID
开始的部分到底是做什么的?
keystroke
调用应用程序,然后稍后通过运行set thePID to do shell script "app_name option > /dev/null 2>&1 & echo $!"
来运行它的另一个实例。我猜答案可能是像tell application "System Events" to keystroke "app_name option > /dev/null 2>&1 & echo $!"
这样的东西。但是当我在终端中尝试时,它基本上只显示了进程,然后就完成了。...还有我想知道是否因为我必须使用option
运行它,这意味着语法在这里需要不同吗?也许? - DasKraut