scp with zsh: Es wurden keine Übereinstimmungen gefunden


42

Wenn ich scp über zsh versuche, bekomme ich

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

das gleiche Kommando funktioniert auch in bash


Können Sie eine der Antworten als richtig markieren? Einige sehen ziemlich gut aus.
Geoff

Antworten:


73

Entkomme deiner Wildcard:

scp hostA:Descargas/debian-6.0.4-\*

1
Ich habe den gleichen Fehler erhalten, als ich versucht habe, einen Ruby Resque Worker mit dieser QUEUE=*Option zu starten . Danke für die Lösung!
mogramer

2
Vielen Dank für die Lösung ... Dies scheint ein Beispiel dafür zu sein, dass zsh zu schlau für sich selbst ist ...
Owen,

1
Arbeitete auch für mich. Seltsam!
Roopunk


4

Deaktivieren Sie die NOMATCHOption, damit zsh den Text in Ruhe lässt, anstatt sich über einen Glob-Fehler zu beschweren.


1
Hallo, wie kann man das deaktivieren? in .zshrc?
GoingMyWay

4

Dieser Beitrag bietet eine gute Lösung dafür, indem das Plugin url-quote-magic verwendet wird, um Globs in scp-Befehlen automatisch zu umgehen. Um es zu aktivieren, fügen Sie Folgendes zu Ihrem hinzu ~/.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)'

Wenn Sie ein Glob-Zeichen (wie *) als Teil eines Remote-Pfads in einem scp- oder rsync-Befehl eingeben, fügt zsh automatisch einen schwarzen Schrägstrich voran:

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

1
Das ist ein böser, aber netter Trick.
Attila O.

1

Zu spät für die Party, aber ..

Sie können die Zeichenfolge auch mit Anführungszeichen umgehen

scp "hostA:Descargas/debian-6.0.4-*" "user@192.168.1.154:Escritorio/Software/"
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.