kiedy próbuję scp przez Zsh, rozumiem
scp hostA:Descargas/debian-6.0.4-* user@192.168.1.154:Escritorio/Software/
zsh: no matches found: hostA:Descargas/debian-6.0.4-*
to samo polecenie działa w bash
kiedy próbuję scp przez Zsh, rozumiem
scp hostA:Descargas/debian-6.0.4-* user@192.168.1.154:Escritorio/Software/
zsh: no matches found: hostA:Descargas/debian-6.0.4-*
to samo polecenie działa w bash
Odpowiedzi:
Ucieknij od wieloznacznika:
scp hostA:Descargas/debian-6.0.4-\*
QUEUE=*
opcją. Dzięki za poprawkę!
lub dodaj to do swojego .zshrc
alias scp='noglob scp'
Wyłącz tę NOMATCH
opcję, aby zsh pozostawił tekst w spokoju, zamiast narzekać na globalną awarię.
.zshrc
?
Ten post ma dobre rozwiązanie tego problemu, używając wtyczki url-quote-magic do automatycznego unikania globów w poleceniach scp. Aby go włączyć, dodaj następujące elementy do ~/.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)'
Kiedy wpiszesz znak glob (jak *
) jako część zdalnej ścieżki w komendzie scp lub rsync, zsh automatycznie doda z przodu czarny ukośnik, jak poniżej:
scp hostA:Descargas/debian-6.0.4-\* user@192.168.1.154:Escritorio/Software/