모든 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'
docker
docker
glob이 로 시작하고 아래에서 실행되는 줄에서 확장 되지 않도록 합니다 sudo
. 여전히 가끔 root 없이 실행해야 하는 경우에는 docker
이를 sudo-docker
또는 sdocker
별칭으로 설정할 수 있습니다.
Bourne/behavior를 활성화하는 것을 권장하지 않습니다. 이는 정말 나쁜 디자인이고 위험하지만, 정말로 그렇게 하고 싶다면 bash
(or 또는...)을 사용하여 수행할 수 있습니다.set +o nomatch
setopt nonomatch
unsetopt nomatch