Applescript执行多行代码

时间:2015-08-22 13:27:30

标签: bash terminal applescript osascript

我有一些苹果脚本代码:

tell application "System Events"
    key code 97
end tell

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

3 个答案:

答案 0 :(得分: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
    
  3. 哦,您还可以将AppleScript代码保存为可执行的shell脚本。只需在代码顶部添加#!/usr/bin/osascript并将其另存为纯文本文件:

    #!/usr/bin/osascript
    
    tell application "System Events"
      key code 97
    end tell
    

答案 1 :(得分:0)

其他例子:

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

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

答案 2 :(得分:0)

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

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