【发布时间】:2023-04-04 19:54:02
【问题描述】:
我有一些苹果脚本代码:
tell application "System Events"
key code 97
end tell
如何在终端中将代码编写为osascript -e 命令?
每次我尝试使用 \n 或类似的东西时,都会出错。对不起,如果我不够具体。
【问题讨论】:
标签: bash terminal applescript osascript
我有一些苹果脚本代码:
tell application "System Events"
key code 97
end tell
如何在终端中将代码编写为osascript -e 命令?
每次我尝试使用 \n 或类似的东西时,都会出错。对不起,如果我不够具体。
【问题讨论】:
标签: bash terminal applescript osascript
你有几个选择:
将 AppleScript 代码的每一行作为单独的 -e 选项传递:
osascript -e 'tell application "System Events"' -e 'key code 97' -e 'end tell'
将 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'
前两行只是为了显示最终目标,即聚焦终端窗口并退出,发送Command+q
【讨论】:
其实-e 选项接受换行:
osascript -e '
tell application "System Events"
key code 97
end tell'
【讨论】: