Osascript 自定义函数无法正确解释命令字符串

Osascript custom function not interpreting command string properly

我写了这个函数:

function alert { 
    command='display alert '
    content=" message "
    concat=$command$content
    osascript -e "${concat}"
}

执行时:

alert 'Title' 'Message'

我收到错误消息:

25:27: syntax error: A end of script can’t go after this “my”. (-2740)

为什么会这样?

作为参考,此命令完美运行:

osascript -e 'display alert "Title" message "Message"'

您没有在 content 中的消息和标题两边加上引号。因此,它们被 OSAScript 解释器视为变量名。

function alert { 
    command='display alert '
    content="\"\" message \"\""
    concat=$command$content
    osascript -e "${concat}"
}