Applescript——执行多行代码

Applescript–execute multi line code

我有一些苹果脚本代码:

tell application "System Events"
    key code 97
end tell

如何在终端中将代码编写为 osascript -e 命令? 每次我尝试使用 \n 或类似的东西时,我都会出错。对不起,如果我不够具体。

您有两个选择:

  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

其他示例:

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

前两行只是为了展示最终目标,即聚焦终端 window 并退出,发送 Command+q

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

osascript -e '
tell application "System Events"
    key code 97
end tell'