ZSH :
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Bash에서 작동합니다. 뭐가 문제 야 ? :-디
답변
예, zsh
그리고 bash
이 점에서 다르게 동작합니다.
에서 zsh
” ubuntuone-*
” 라고 말하면 현재 작업 디렉토리에서 시작하는 파일을 찾습니다. 파일을 ubuntuone-
찾을 수 없으므로 ” no matches
” 라고 말하고 명령을 실행하지 않습니다.
bash
다른 ubuntuone-
작업을 수행합니다. 현재 작업 디렉토리에서 시작하는 파일을 찾지 만 “내가 호출하는 프로그램이 와일드 카드를 처리하는 방법을 알고있을 수도 있습니다.” ubuntuone-*
” sudo apt-get
문자 그대로의 논증.
현재 작업 디렉토리에이라는 파일이 있으면 ubuntuone-ffdjhjer
bash는 실행하려고 시도하는데 sudo apt-get remove --purge ubuntuone-ffdjhjer
실패 할 것입니다.
에서 zsh
(와)에서 bash
작은 따옴표를 사용하여 와일드 카드를 확장하지 말고 다음과 같이 전달하십시오.
sudo apt-get remove --purge 'ubuntuone-*'
답변
이 답변에 약간 늦을 수도 있지만 이것을 해결할 수있는 방법이 있습니다. 명령 행에서 다음을 실행하십시오.
unsetopt no_match
답변
zsh에서 확장을 막는 다른 방법이 있는데, 따옴표보다 선호합니다.
sudo apt-get remove --purge ubuntuone-\*