Macos 带参数的Zsh函数已停止使用AppleScript
我的Macos 带参数的Zsh函数已停止使用AppleScript,macos,shell,applescript,zsh,Macos,Shell,Applescript,Zsh,我的~/.zshrc中有一个函数,它运行的AppleScript如下 qapp() { osascript -e 'quit app "$1"' } 此函数将通过像so$qapp Messages一样使用终端中的应用程序退出消息应用程序,从而终止该应用程序。我试图弄明白为什么它突然停止工作,因为它不再退出应用程序,没有出现错误消息或任何东西。测试后我做的唯一一件事就是提交文件并将其推送到远程repo。当我在函数中添加一个echo$1时,它会打印期望的参数。我不知道这
~/.zshrc
中有一个函数,它运行的AppleScript如下
qapp() {
osascript -e 'quit app "$1"'
}
此函数将通过像so$qapp Messages
一样使用终端中的应用程序退出消息应用程序,从而终止该应用程序。我试图弄明白为什么它突然停止工作,因为它不再退出应用程序,没有出现错误消息或任何东西。测试后我做的唯一一件事就是提交文件并将其推送到远程repo。当我在函数中添加一个echo$1
时,它会打印期望的参数。我不知道这是怎么发生的,也不知道脚本为什么不退出应用程序。如果我从命令行运行该命令,它就会工作。我正在运行macOS 11.3.1,我已经测试了另一个使用AppleScript清空垃圾箱的函数,它工作正常
这可能是我的$PATH
的问题吗?我把它贴在下面以防万一
/usr/local/opt/ruby/bin:/Users/USERNAME/.gem/ruby/2.6.0/bin:/USERNAME/.gem/ruby/2.6.0/bin:/usr/local/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:/opt/X11/bin:~/.dotnet/tools:/Library/Apple/usr/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands
<
qapp() {
osascript -e "quit app \"$1\""
}
注意:在您的OP中,
'quit app“$1”
中,$1
不会展开,因为它被包装在单引号中。您的$1不会被替换,因为它在单引号中。您可以执行一个osascript-e“退出应用程序”'$1'