나는 같은 명령에 대한 글 로빙 zsh을 사용하고있다 : 등등find 명령으로 zsh globbing이 작동하지 않는 이유는 무엇입니까?
vim **/filename
vim *.html.erb
하고 있지만, 내가 좋아하는 뭔가를 입력 할 때 :
zsh: no matches found: *mobile*
:
find . -name *mobile*
나는 응답을 얻을
왜?
나는 같은 명령에 대한 글 로빙 zsh을 사용하고있다 : 등등find 명령으로 zsh globbing이 작동하지 않는 이유는 무엇입니까?
vim **/filename
vim *.html.erb
하고 있지만, 내가 좋아하는 뭔가를 입력 할 때 :
zsh: no matches found: *mobile*
:
find . -name *mobile*
나는 응답을 얻을
왜?
find . -name *mobile* # does not work
find . -name '*mobile*' # works
대 차이는 광고를 분석 할 때 껍질이 걸리는 공정에 기인한다. 일반적으로 쉘은 명령을 실행하기 전에 찾은 모든 와일드 카드를 확장합니다. 그러나 작은 따옴표는 인수를 리터럴로 표시합니다. 즉, 쉘은 명령을 실행하기 전에 해당 인수에 대해 와일드 카드 확장을 수행하지 않습니다.
find . -name mobile.1
것을 의미한다 :
$ tree
./
mobile.1
dir/
mobile.2
zsh을가 그것을 실행하기 전에 다음에 첫 번째 양식을 확장합니다
의 차이를 설명하기 위해, 다음과 같은 파일이있는 디렉토리에 가정 find는 말 그대로 모바일이라는 파일만을 찾습니다.
두 번째 형식은 다음과 같이 실행됩니다.
find . -name *mobile*
find는 문자열에 "mobile"이 포함 된 파일 이름을 찾습니다.
여기서 중요한 점은 zsh와 find는 동일한 와일드 카드 구문을 지원하지만 zsh가 아닌 와일드 카드를 찾기를 원합니다.
당신이 가진 모든 문제가 입력 주위에 약간의 따옴표를 추가하는 것입니다 해결하기 위해해야 할 것을 밝혀 : 정말에 관해서는 답변이없는
find . -name '*mobile*'
왜 아직 ... 및 설명서 내게 달라 붙는 것이 없지만 대답을 안다면 나에게 알려줘!
나는 그것이 더 나은 대답을한다고 생각한다 : https://unix.stackexchange.com/questions/130958/scp-wildcard-not-working-in-zsh – sttaq