Scp avec zsh: aucun résultat trouvé

Quand j'essaie de dépasser zsh, je reçois

scp hostA:Descargas/debian-6.0.4-* [email protected]:Escritorio/Software/ zsh: no matches found: hostA:Descargas/debian-6.0.4-* 

La même commande fonctionne en bash

Évasion de votre caractère générique

 scp hostA:Descargas/debian-6.0.4-\* 

NOMATCH option NOMATCH pour que zsh quitte le texte seul au lieu de se plaindre d'une défaillance globale.

Cette publication a une belle solution à cela 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 glob (comme * ) dans le cadre d'un chemin distant dans une commande scp ou rsync, zsh ajoutera automatiquement une barre oblique à l'avant, comme ceci:

 scp hostA:Descargas/debian-6.0.4-\* [email protected]:Escritorio/Software/ 

Ou ajoutez ceci à votre .zshrc

 alias scp='noglob scp' 

Trop tard pour la fête, mais …

Vous pouvez également échapper à la chaîne avec des citations

 scp "hostA:Descargas/debian-6.0.4-*" "[email protected]:Escritorio/Software/"