You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在终端osascript调用中不存储文件执行多条AppleScript命令

osascript 不落地文件执行多条AppleScript语句的解决方案

之前写法失效的原因

  • AppleScript原生不支持用;作为多条语句的分隔符
  • 双引号包裹的字符串中转义的\n不会被osascript识别为语句换行分隔符
  • then关键字仅可用于if等条件控制语句,不能用于连接普通顺序执行的语句

可行方案

方案1:使用多个-e参数传递多条语句

osascript本身支持传入多个-e选项,每个选项对应一条AppleScript语句,会按传入顺序执行:

osascript -e 'set x to 0' -e 'display dialog x'

方案2:结合shell的Here Document传入多行语句

如果语句较多,用here doc的方式可读性更高,不需要额外创建本地文件:

osascript <<EOF
set x to 0
display dialog x
EOF

如果需要在AppleScript中使用shell变量,去掉EOF的单引号,就可以直接在脚本里引用$变量名。


内容的提问来源于stack exchange,提问作者gurkensaas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:09:02