2部分问题:
我只是试图使用终端上的AppleScript来运行程序,所以我尝试了:
$ osascript tell application "iTunes" to activate
并收到错误:
osascript: tell: No such file or directory
提供该计划的完整途径也不起作用。我错过了什么?问题的第二部分是我最终想要使用applescript的内容。我想用它来打开我使用py2app构建的应用程序。 Apple可以打开任何mac应用程序或只是已经兼容的某些应用程序。
由于
答案 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