ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Funciona no Bash. Qual é o problema ? :-D
ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Funciona no Bash. Qual é o problema ? :-D
Respostas:
Sim, zsh
e bash
se comporta de maneira diferente a esse respeito.
Em zsh
, quando você diz " ubuntuone-*
" parece no seu diretório de trabalho atual para os arquivos que começam com ubuntuone-
- uma vez que não encontrar nenhum, ele diz que " no matches
" e não executar o comando.
bash
adota uma abordagem diferente - ele também procura por arquivos que iniciam ubuntuone-
no diretório de trabalho atual, mas, se não encontrar nenhum, diz para si mesmo: "Talvez o programa que estou invocando saiba como lidar com o curinga" e assim passe " ubuntuone-*
" sudo apt-get
como um argumento literal.
Se você tivesse um arquivo em seu diretório de trabalho atual chamado ubuntuone-ffdjhjer
, o bash tentaria executar sudo apt-get remove --purge ubuntuone-ffdjhjer
, o que provavelmente falharia.
Em zsh
(e em bash
), você pode usar aspas simples para dizer para não expandir o curinga, mas para transmiti-lo, como em:
sudo apt-get remove --purge 'ubuntuone-*'
dpkg -l 'linux*'
bash para ver todos os kernels instalados.
Pode ser um pouco tarde para esta resposta, mas há uma maneira de corrigir isso. Na linha de comando, execute:
unsetopt no_match
shopt -s failglob
bash
bash
zsh
fish
tcsh