scp avec zsh: aucune correspondance trouvée


42

quand j'essaie scp sur zsh, je reçois

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

le même travail de commande dans bash


Pouvez-vous marquer une des réponses comme correcte? Certains ont l'air plutôt bien.
Geoff

Réponses:


74

Échappez à votre caractère générique:

scp hostA:Descargas/debian-6.0.4-\*

1
J'ai eu la même erreur en essayant d'exécuter un travailleur de resque ruby ​​avec l' QUEUE=*option. Merci pour le correctif!
mogramer

2
Merci pour la solution ... Cela semble être un exemple de zsh trop intelligent pour son bien ...
Owen

1
A également fonctionné pour moi. Bizarre quand même!
roopunk



4

Ce message a une bonne solution à cela en utilisant le plugin url-quote-magic pour échapper automatiquement les globes dans les commandes scp. Pour l'activer, ajoutez ce qui suit à votre ~/.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)'

Lorsque vous tapez un caractère glob (comme *) dans le cadre d'un chemin distant dans une commande scp ou rsync, zsh ajoutera automatiquement une barre oblique noire devant, comme ceci:

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

1
C'est un truc méchant mais sympa.
Attila O.

1

Trop tard pour la fête, mais ..

Vous pouvez également échapper la chaîne avec des guillemets

scp "hostA:Descargas/debian-6.0.4-*" "user@192.168.1.154:Escritorio/Software/"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.