scp com zsh: nenhuma correspondência encontrada


42

quando tento scp sobre zsh, recebo

scp hostA:Descargas/debian-6.0.4-* user@192.168.1.154:Escritorio/Software/
zsh: no matches found: hostA:Descargas/debian-6.0.4-*

o mesmo comando funciona no bash


Você pode marcar uma das respostas como correta? Alguns parecem muito bons.
Geoff

Respostas:


73

Escape do seu curinga:

scp hostA:Descargas/debian-6.0.4-\*

11
Eu recebi o mesmo erro ao tentar executar um trabalhador de ruby ​​resque com a QUEUE=*opção Obrigado pela correção!
Mogramer 29/08/14

2
Obrigado por solução ... Este parece ser um exemplo de zsh ser demasiado inteligente para seu próprio bem ...
Owen

11
Trabalhou para mim também. Estranho embora!
roopunk



4

Este post tem uma boa solução para isso, usando o plug-in url-quote-magic para escapar automaticamente dos globs nos comandos scp. Para habilitá-lo, adicione o seguinte ao seu ~/.zshrc:

# Automatically quote globs in URL and remote references
__remote_commands=(scp rsync)
autoload -U url-quote-magic
zle -N self-insert url-quote-magic
zstyle -e :urlglobber url-other-schema '[[ $__remote_commands[(i)$words[1]] -le ${#__remote_commands} ]] && reply=("*") || reply=(http https ftp)'

Quando você digita um caractere glob (como *) como parte de um caminho remoto em um comando scp ou rsync, o zsh adiciona automaticamente uma barra preta na frente, assim:

scp hostA:Descargas/debian-6.0.4-\* user@192.168.1.154:Escritorio/Software/

11
Este é um truque desagradável, mas agradável.
Attila O.

1

Tarde demais para a festa, mas ..

Você também pode escapar da string com aspas

scp "hostA:Descargas/debian-6.0.4-*" "user@192.168.1.154:Escritorio/Software/"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.