一致しない場合、zsh は glob を無視します。

一致しない場合、zsh は glob を無視します。

すべての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のように実行するように設定することもできます。私はいつも引用符を入力しないようにしたいと思います。

答え1

alias docker='noglob sudo docker'

dockerdockerglobがで始まり、下で実行される行から拡張されないようにしますsudo。それでも時々rootなしで実行する必要がある場合は、dockerそれをsudo-dockerまたはsdocker別名に設定できます。

Bourne / behaviorを有効にすることはお勧めできません。これは本当に悪いデザインで危険ですが、本当にそうしたい場合はbash(orまたは...)を使用して実行できます。set +o nomatchsetopt nonomatchunsetopt nomatch

関連情報