82 votes

scp avec zsh : aucune correspondance trouvée

Quand j'essaie de scp sur zsh, j'obtiens

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

la même commande fonctionne en bash

145voto

yPhil Points 2063

Échappez à votre joker :

scp hostA:Descargas/debian-6.0.4-\*

24voto

Per Hurtig Points 341

Ou ajouter ceci à votre .zshrc

alias scp='noglob scp'

8voto

waghcwb Points 181

Trop tard pour la fête, mais..

Vous pouvez également échapper à la chaîne de caractères avec des guillemets

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

5voto

Désactiver le NOMATCH pour que zsh laisse le texte seul au lieu de se plaindre d'un échec de glob.

4voto

mgorven Points 2767

Ce poste propose une solution intéressante à ce problème en utilisant le plugin url-quote-magic pour échapper automatiquement aux globs 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 global (comme * ) comme partie d'un chemin distant dans une commande scp ou rsync, zsh ajoutera automatiquement une barre noire devant, comme ceci :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X