我正在使用Mail.app规则(MacOS Mojave),该规则通过使用使用'do shell script'命令的AppleScript为选定的电子邮件创建TaskWarrior任务。
创建任务没有问题,但是我想给任务添加注释,这要求您使用shell脚本的输出-“创建的任务[编号]”。因为注释任务是以下Shell脚本:task [number]注释[您的注释,在我的情况下,是电子邮件的链接]。
我以为我设法从第一个Shell脚本获得了“ Created task [number]”的结果,到第二个Shell脚本的开始即“ task [number]”,但是结果是现在没有指定任何命令-假设“信息”。
我尝试使用延迟1,以便一个shell脚本等待另一个脚本完成,但无济于事。
这是特定的脚本:
tell application "Mail"
set selectedMessages to selection
set theMessage to item 1 of selectedMessages
set messageid to message id of theMessage
-- Make URL (must use URL-encoded values for "<" and ">")
set urlText to "message://" & "%3c" & messageid & "%3e"
set onderwerp to subject of theMessage
set DueDate to display dialog "Wat is de due date?" default answer "friday"
do shell script "/usr/local/bin/task add Email over " & onderwerp & " beantwoorden due:" & (text returned of DueDate) & " project:Work +email"
-- This all works as it should. A task is created with the email subject and a due date that I give it. However, from here something goes wrong
set task to the result
set laatste to rich text 1 thru -2 of task
set annotate to rich text 9 thru -1 of laatste
do shell script "/usr/local/bin/" & annotate & " annotate" & urlText
end tell
我希望输出结果是任务[number]用消息的urlText注释。但我得到:
错误“邮件收到错误:未指定命令-假设 '信息'。没有匹配项。“数字1
答案 0 :(得分:0)
未指定命令-假定为“信息”。
问自己一个问题,为什么TaskWarrior无法看到该命令是“注释”。这是因为您的第二个命令语法错误。更改
& " annotate" &
收件人
& " annotate " &
注意空格。