Apt-get * curinga com zsh -- apt campo com zsh camp askubuntu Relacionado O problema

Apt-get * wildcard with ZSH


16
vote

problema

português

zsh:

  sudo apt-get remove --purge ubuntuone-*  ERROR: zsh: no matches found: ubuntuone-*    

funciona no bash. Qual é o problema ? :-D

english

ZSH:

sudo apt-get remove --purge ubuntuone-*  ERROR: zsh: no matches found: ubuntuone-* 

Works on Bash. What's the problem ? :-D

     

Lista de respostas

17
 
vote
vote
Melhor resposta
 

Sim, zsh e bash se comportar de forma diferente a este respeito.

em zsh , quando você diz " ubuntuone-* " ele procura no seu diretório de trabalho atual para arquivos que começam com winecfg0 - desde que Não encontrar nenhum, diz " winecfg1 " e não executa o comando.

ABCDEFGHIJKLMNABCDEFGHIJKLMNABCDEFGHIJKLMN12 Leva um tack diferente - Ele também procura por arquivos que começam com winecfg3 no diretório de trabalho atual, mas se não encontrar nenhum, ele diz, "Talvez o programa que eu esteja invocando sabe como lidar com o curinga", e assim passa " winecfg4 " OFF para winecfg5 como um argumento literal.

Se você tivesse um arquivo em seu diretório de trabalho atual chamado winecfg6 , então bash tentaria executar winecfg7 , que provavelmente falharia.

em winecfg8 (e em winecfg9 ) você pode usar citações individuais para dizer que não expandir o curinga, mas para passá-lo, como em:

  wine0   
 

Yes, zsh and bash behave differently in this regard.

In zsh, when you say "ubuntuone-*" it looks in your current working directory for files that start with ubuntuone- - since it does not find any, it says "no matches" and does not run the command.

bash takes a different tack - it also looks for files that start with ubuntuone- in the current working directory, but if it does not find any it says to itself, "Maybe the program I am invoking knows how to handle the wildcard," and so passes "ubuntuone-*" off to sudo apt-get as a literal argument.

If you had a file in your current working directory called ubuntuone-ffdjhjer, then bash would try to execute sudo apt-get remove --purge ubuntuone-ffdjhjer, which would probably fail.

In zsh (and in bash) you can use single quotes to tell it not to expand the wildcard but to pass it on, as in:

sudo apt-get remove --purge 'ubuntuone-*' 
 
 
   
   
10
 
vote

Pode ser um pouco atrasado esta resposta, mas há uma maneira de consertar isso. A partir da linha de comando execute:

  wine1   
 

Might be a little late this answer, but there is a way to fix this. From command line execute:

unsetopt no_match 
 
 
     
     
2
 
vote

Há outra maneira de evitar a expansão no ZSH, que eu prefiro sobre aspas:

  wine2   
 

There are another way to prevent expansion in zsh, which i prefer over quotes:

sudo apt-get remove --purge ubuntuone-\* 
 
 

Perguntas relacionadas

147  Movendo-se de Bash para ZSH [FECHADO]  ( Moving from bash to zsh ) 
. fechado . Esta questão precisa ser mais focado . Atualmente não está aceitando respostas. ...

0  zsh up-line-ou-história não funciona em Gnome-terminal e TMUX  ( Zsh up line or history does not work in gnome terminal and tmux ) 
Eu uso o Ubuntu 13.04, ZSH com OH-My-ZSH e ABCDEFGHIJKLMNABCDEFGHIJKLMN0 é ligado a seta para cima (configurações padrão de OH-My-ZSH). Mas isso funciona ap...

6  Como corrigir "ZSH COMPINIT: diretórios inseguros"?  ( How to fix zsh compinit insecure directories ) 
Quando eu executo fakeroot em zsh sempre me dá este aviso: zsh compinit: insecure directories, run compaudit for list. Ignore insecure directories and ...

1  TMUX - Não é possível iniciar qualquer aplicativo da GUI  ( Tmux unable to start any gui application ) 
Eu estou executando o Ubuntu-Gnome 13.04. Meu shell padrão é ZSH 5.0.0 e eu normalmente executo TMUX 1.7 no terminal 3.6.1. no terminal, se eu evince ou ...

93  Fazer comando não encontrado  ( Make command not found ) 
Eu estou tendo um problema que não parece ser comum com base na busca de vários fóruns. Não consigo executar o comando Fazer. mensagem: sudo apt-get in...

0  Como obter o pronto do usuário @ máquina no ZSH  ( How to get the usermachine prompt on zsh ) 
Eu recentemente instalei ZSH e padronizado para baixo sobre Bash. No entanto, uma coisa que notei foi que o prompt "User @ máquina ~" que aparece antes que ca...

2  ZSH usa 100% CPU no Ubuntu  ( Zsh uses 100 cpu on ubuntu ) 
Eu estou usando ZSH com terminador, no entanto, o tempo todo ZSH está usando 100% e não consigo encontrar o que está causando esse problema. ZSH Plugins ins...

1  Os atalhos de comando de exibição anterior / Avançar não funcionam  ( The display previous next command shortcuts doesnt work ) 
Eu li em algum artigo que Ctrl+P - to display previous command Ctrl+N - to display next command Mas no meu terminal não funciona. O que pode ser um pro...

195  Como fazer zsh a casca padrão?  ( How to make zsh the default shell ) 
Eu estou tentando definir ZSH como meu shell padrão, no entanto, ele continua revertendo para Bash. Eu tentei este código: sudo chsh -s $(which zsh) ...

3  Alterando o fundo do terminal em ZSH quando conectado ao servidor  ( Changing the background of terminal in zsh when connected to server ) 
Eu uso o Terminator como um terminal, ZSH Shell e oh meu ZSH, tanto no meu laptop e no meu servidor, pelo que vale a pena, criei um alias chamado VPS para se ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.