今天我絆倒在的zsh 5.1.1(簡化的例子)以下問題:Zsh:具有空列表的zargs的行爲 - 這是一個錯誤還是一個特性?
#!/bin/zsh
autoload -U zargs
zargs -- my*files(N) -- rm -v
這工作得很好,直到有一天,有沒有匹配我的病毒碼文件。因爲(N)
的,命令變成
zargs -- -- rm -v
我所預料的,在這種情況下rm
不會在所有被調用,以類似的徒勞,其中xargs
不調用命令,如果開關輸入是空的。然而,rm
是調用一次,沒有參數,然後有一個錯誤消息被寫入的效果。
事實上,我們可以看到,
zargs -- -- echo xxx
還援引echo
一次。
手冊頁中zargs
的文檔在這方面並不十分清楚,但我認爲沒有參數,根本不應調用該命令。
我們有一個錯誤,或者是zargs
真的應該以這種方式工作嗎?