[英]Zsh function with argument stopped working with AppleScript
我的~/.zshrc
.zshrc 中有一個 function 像這樣運行 AppleScript
qapp() {
osascript -e 'quit app "$1"'
}
這個 function 會像這樣使用$ qapp Messages
以退出Messages應用程序來殺死終端中的應用程序。 我試圖弄清楚為什么這突然停止工作,因為它不再退出應用程序,沒有出現錯誤消息或任何東西。 測試后我唯一做的就是提交文件並將其推送到我的遠程倉庫。 當我在 function 中添加echo $1
時,它會打印預期的參數。 我不知道這是怎么發生的,也不知道為什么腳本實際上不會退出應用程序。 如果我從命令行運行該命令,它就可以工作。 我正在運行 macOS 11.3.1,並且我測試了另一個使用 AppleScript 清空垃圾箱的 function,它工作正常。
這可能是我的$PATH
的問題嗎? 我把它貼在下面以防萬一。
/usr/local/opt/ruby/bin:/Users/USERNAME/.gem/ruby/2.6.0/bin:/Users/USERNAME/.gem/ruby/2.6.0/bin:/usr/local/bin:/usr/bin:/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
不會被擴展,因為它包含在單引號中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.