Applescript执行多行代码

问题描述 投票:3回答:3

我有一些苹果脚本代码:

tell application "System Events"
    key code 97
end tell

如何在终端中将代码编写为osascript -e命令?每当我尝试使用\n或其他时,我都会收到错误。对不起,如果我不够具体。

bash terminal applescript osascript
3个回答
10
投票

你有几个选择:

  1. 将AppleScript代码的每一行作为单独的-e选项传递: osascript -e 'tell application "System Events"' -e 'key code 97' -e 'end tell'
  2. 将AppleScript代码传递给osascript的STDIN: osascript <<END tell application "System Events" key code 97 end tell END

哦,您还可以将AppleScript代码保存为可执行的shell脚本。只需在代码顶部添加#!/usr/bin/osascript并将其另存为纯文本文件:

#!/usr/bin/osascript

tell application "System Events"
  key code 97
end tell

0
投票

其他例子:

  open -a Terminal && \
     sleep 2 && \
     osascript -e 'activate application "Terminal"' -e 'tell application "System Events" to keystroke "q" using command down'

前两行只是为了显示最终目标,即关注终端窗口并退出它,发送Command + q


0
投票

实际上-e选项接受新行:

osascript -e '
tell application "System Events"
    key code 97
end tell'
© www.soinside.com 2019 - 2024. All rights reserved.