scp with zsh: nessuna partita trovata

quando provo scp sopra zsh, ottengo

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

lo stesso command funziona in bash

Fuga dalla tua wildcard:

 scp hostA:Descargas/debian-6.0.4-\* 

NOMATCH opzione NOMATCH modo che zsh lascia solo il text anziché lamentarsi di un errore globale.

Questo post ha una bella soluzione per questo utilizzando il plugin url-quote-magic per escludere automaticamente globs nei comandi scp. Per abilitarlo, aggiungere il seguente ~/.zshrc al tuo ~/.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 si digita un carattere glob (come * ) come parte di un path remoto in un command scp o rsync, zsh aggiunge automaticamente un blackslash davanti, come segue:

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

o aggiungerlo al tuo .zshrc

 alias scp='noglob scp' 

Troppo in ritardo per la festa, ma ..

Puoi sfuggire anche alla string con le virgolette

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