是什么导致这个错误在自定义zsh函数的苹果脚本



我正在尝试创建一个zsh函数,我可以通过一个参数来使用终端退出给定的应用程序,就像应用程序使用<CMD,Q>快捷键(所以不只是pkill)。

我使用了如何在macOS终端中退出应用程序的示例,我确认我的Zsh函数/参数使用语法从这个问题和这个文档来看似乎是正确的

quitapp() {
osascript -e 'quit app ${1:?"The application must be specified."}'
}

然而,我通过尝试退出Spotify来测试它,但是当我尝试这样做时:

quitapp Spotify

我得到这个错误:

9:10: syntax error: Expected expression, property or key form, etc. but found unknown token. (-2741)

(我尝试使用小写和大写,并尝试将Spotify括在双引号中或不加双引号,并且总是相同的错误)。

我做错了什么?

在挣扎的时候,我偶然发现了这个,我认识到我的错误是认为字符串在传递之前会被评估为shell代码。

但是我可以用(归功于我链接到的SO答案)来解决我的问题:

qapp() {
osascript -e "quit app "$1""
}

最新更新