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

如何在AppleScript中回显值/变量?新手输出计数结果遇异常

解决你的AppleScript输出问题

嘿,我来帮你搞定这个问题~你遇到的核心问题是没有正确保存count的结果,也没有把变量值传递给shell命令,具体来说:

  • 你现在的todayToDos是一个存储了Today列表所有待办的列表对象,不是count出来的数字;
  • 直接在do shell script的字符串里写变量名,shell只会把它当作普通文本,不会读取AppleScript变量的实际值。

修正后的代码

tell application "Things3"
    set todayToDos to to dos of list "Today"
    -- 把count的结果保存到变量里
    set todoCount to count todayToDos
    -- 用字符串拼接把变量值传入shell命令
    do shell script "echo " & todoCount & " > /Users/nonefirstnonelast/Desktop/Things.txt"
end tell

为什么原来的代码不行?

  1. 变量混淆:你执行了count todayToDos但没有把结果存下来,后续用的todayToDos还是原来的待办列表,而不是数字27。当shell尝试输出这个列表对象时,它无法被正确转换成文本,所以文件是空的。
  2. 变量传递错误:AppleScript不会自动把变量替换到双引号包裹的shell命令字符串里,必须用&把变量和字符串拼接起来,这样才能把todoCount的实际值(27)传入echo命令。

额外小提示

如果以后要输出字符串类型的变量,建议用quoted form of来处理,避免空格或特殊字符导致shell命令出错,比如:

set myText to "Hello World!"
do shell script "echo " & quoted form of myText & " > ~/Desktop/test.txt"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:28:34