簡體   English   中英

帶有參數的 Zsh function 停止使用 AppleScript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM