답변:
예, 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-*'
dpkg -l 'linux*'
설치된 모든 커널을 보려면 bash를 입력 하십시오.
이 답변에 약간 늦을 수도 있지만 이것을 해결할 수있는 방법이 있습니다. 명령 행에서 다음을 실행하십시오.
unsetopt no_match
shopt -s failglob
년 bash
에 수정 bash
이처럼 작동하므로 zsh
다른 현대적인 포탄이 좋아하는 fish
또는 tcsh
그 해결 한 그 globs와 일치하지 않은 경우에도 명령이 계속 실행할 수 있습니다 그에 Bourne 쉘의 misfeature.