일치하지 않으면 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

관련 정보