2部分问题:
我只是试图使用终端上的AppleScript来运行程序,所以我尝试了:
$ osascript tell application "iTunes" to activate
Run Code Online (Sandbox Code Playgroud)
并得到错误:
osascript: tell: No such file or directory
Run Code Online (Sandbox Code Playgroud)
提供该计划的完整途径也不起作用.我错过了什么?问题的第二部分是我最终想要使用applescript的内容.我想用它来打开我使用py2app构建的应用程序.Apple可以打开任何mac应用程序或只是已经兼容的某些应用程序.
谢谢
reg*_*633 25
试试这个.注意在编写命令时使用"-e".如果没有"-e",您将给出一个运行AppleScript的路径.另请注意,string命令必须在引号中.
osascript -e "tell application \"iTunes\" to activate"
Run Code Online (Sandbox Code Playgroud)
如果你有一个多行的AppleScript,你可以在每一行之前使用"-e"......
osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"
Run Code Online (Sandbox Code Playgroud)
如果要打开应用程序,只需使用unix"open"命令...
open "/path/to/application"
Run Code Online (Sandbox Code Playgroud)
如果你想使用applescript打开一个应用程序并且"activate"命令不起作用(它应该适用于几乎所有的东西),然后告诉Finder打开它.请记住,applescript使用冒号分隔的路径......
osascript -e "tell application \"Finder\" to open file \"path:to:application\""
Run Code Online (Sandbox Code Playgroud)
小智 10
osascript 的替代方法:
open -a Calendar
Run Code Online (Sandbox Code Playgroud)
靠近:
pkill Calendar
Run Code Online (Sandbox Code Playgroud)
在bash shell中(如在Terminal中),您可以使用"here document"将多行发送到osascript.
osascript -e "tell application \"iTunes\"" -e "activate" -e "end tell"
Run Code Online (Sandbox Code Playgroud)
变
osascript <<EOF
tell application "iTunes"
activate
end tell
EOF
Run Code Online (Sandbox Code Playgroud)
作为一个老式的Unix黑客,我将这些小片段保存在我的$ HOME/bin目录中,并从命令行调用它们.尽管如此,仍在学习细节.
艾伦