완전히 비활성화하시겠습니까? 그리고 [] zsh에서 글로빙

완전히 비활성화하시겠습니까? 그리고 [] zsh에서 글로빙

zsh는 bash에 추가 globbing 논리를 추가합니다.

$ zsh
$ echo foo[]
zsh: no matches found: foo[]
$ echo bar?
zsh: no matches found: bar?

$ bash
$ echo f[]
f[]
$ echo bar?
bar?

이들 중 어느 것도 나에게 유용하지 않으며 URL 및 기타 항목을 복사/입력하는 것을 짜증나게 만듭니다.

이 기능을 완전히 비활성화하고 싶지만 아직 그렇게 하는 방법을 찾지 못했습니다.

몇 가지 불완전한 솔루션이 있습니다.

  • setopt NO_NOMATCH

실수로 glob을 실행하지 않는 한 이것은 대부분 작동합니다.하다다음과 같은 일치:

$ echo README.m?
README.md
  • 따옴표 추가

이것은 작동하지만 온라인에서 조각을 복사하여 붙여넣는 데는 작동하지 않으며 입력할 때 기억해야 할 추가 단계를 추가합니다.

  • url-quote-magic자동 탈출에 사용

이는 CLI/기록을 오염시키고 붙여넣기에만 작동합니다.

답변1

?Bash에서도 와일드카드입니다. Zsh에서는 일치 실패로 인해 오류가 발생하는 반면 Bash에서는 자동으로 무시되기 때문에 차이점이 발생합니다.

Zsh에서 Bash 동작을 얻으려면 다음을 ~/.zshrc파일에 추가하세요.

unsetopt NOMATCH

하지만 사실 저는 추천드리고 싶습니다~ 아니다그것을 끄십시오. 오류를 조용히 무시하는 것은 좋지 않으며 파괴적인 작업을 수행할 때 위험할 수도 있습니다.

이 셸 옵션에 대한 자세한 내용은 다음을 참조하세요.http://zsh.sourceforge.net/Doc/Release/Options.html

관련 정보