用AppleScript打开程序

时间:2012-04-05 03:08:07

标签: applescript

2部分问题:

我只是试图使用终端上的AppleScript来运行程序,所以我尝试了:

$ osascript tell application "iTunes" to activate

并收到错误:

osascript: tell: No such file or directory

提供该计划的完整途径也不起作用。我错过了什么?问题的第二部分是我最终想要使用applescript的内容。我想用它来打开我使用py2app构建的应用程序。 Apple可以打开任何mac应用程序或只是已经兼容的某些应用程序。

由于

6 个答案:

答案 0 :(得分:20)

试试这个。注意在编写命令时使用“-e”。如果没有“-e”,您将给出一个运行AppleScript的路径。另请注意,string命令必须用引号括起来。

osascript -e "tell application \"iTunes\" to activate"

如果你有一个多行的AppleScript,你可以在每一行之前使用“-e”......

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"

如果要打开应用程序,只需使用unix“open”命令...

open "/path/to/application"

如果你想使用applescript打开一个应用程序并且“activate”命令不起作用(它应该适用于几乎所有东西),然后告诉Finder打开它。请记住,applescript使用冒号分隔的路径......

osascript -e "tell application \"Finder\" to open file \"path:to:application\""

答案 1 :(得分:8)

在bash shell中(如在Terminal中),您可以使用“here document”将多行发送到osascript。

osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"

变为

osascript <<EOF
tell application "iTunes"
   activate
end tell
EOF

作为一个老式的Unix黑客,我将这些小片段保存在我的$ HOME / bin目录中,并从命令行调用它们。尽管如此,仍在学习细节。

艾伦

答案 2 :(得分:5)

尝试:

do shell script "open /Applications/iTunes.app"

答案 3 :(得分:5)

你需要在tell:

周围加上单引号

osascript -e'告诉app“iTunes”激活'

否则你在运行-e

时定义一个变量

答案 4 :(得分:4)

osascript的替代方案:

open -a Calendar

关闭:

pkill Calendar

答案 5 :(得分:1)

我也是新手。

我很困惑所以我扫描了一篇名为AppleScript Language Guide的文章 当我查看脚本命令项时,我了解到如果要在mac os中使用applescript editor激活应用程序,则应在编辑器中键入代码,然后编译并运行它们!这个答案可以帮助你,这里的代码:

// applescript editor code    

----------    

activate application "iTunes" line 1    

----------    

tell application "iTunes" to activate line 2