要列出所有 docker 存储库,我需要使用星号。但是我不得不添加引号,因为 zsh globbing 捕获了星号。
sudo docker image list "hub.local/*"
我尝试使用 noglob 进行别名,但 sudo 会失败,并且 docker 需要 sudo
alias docker="noglob docker"
我想我可以将 zsh 设置为不匹配时不抱怨,但似乎 zsh 无论如何都会删除星号。
setopt nomatch
我想要么完全禁用 zsh 通配符,要么让 zsh 在匹配失败时通过通配符。或者可能将 zsh globbing 设置为像 bash 一样。我想一直打引号。
将导致 glob 永远不会在以 . 开头
docker
并会docker
在sudo
. 如果您偶尔仍需要docker
不以 root 身份运行,则可以将其设为 asudo-docker
或sdocker
alias 。我不建议启用 Bourne/
bash
行为,这确实是一个糟糕的设计并且很危险,但是您确实想要这样做,可以使用set +o nomatch
(或setopt nonomatch
或unsetopt nomatch
...)来完成。