【问题标题】:Applescript–execute multi line codeApplescript——执行多行代码
【发布时间】:2023-04-04 19:54:02
【问题描述】:

我有一些苹果脚本代码:

tell application "System Events"
    key code 97
end tell

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

【问题讨论】:

    标签: bash terminal applescript osascript


    【解决方案1】:

    你有几个选择:

    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
    

    【讨论】:

      【解决方案2】:

      其他例子:

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

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

      【讨论】:

        【解决方案3】:

        其实-e 选项接受换行:

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

        【讨论】:

          猜你喜欢
          • 2014-10-25
          • 1970-01-01
          • 1970-01-01
          • 2021-08-10
          • 2023-03-06
          • 1970-01-01
          • 2012-02-27
          • 1970-01-01
          • 2023-03-23
          相关资源
          最近更新 更多