zsh ile scp: eşleşme bulunamadı


42

zsh üzerinden scp çalıştığımda, anladım

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

bash aynı komut çalışması


Cevaplardan birini doğru olarak işaretleyebilir misiniz? Bazıları oldukça iyi görünüyor.
Geoff

Yanıtlar:


73

Joker karakterinden kaç:

scp hostA:Descargas/debian-6.0.4-\*

1
QUEUE=*Seçeneği olan bir yakut resque işçi çalıştırmaya çalışırken aynı hatayı aldım . Düzeltme için teşekkürler!
programcı

2
Çözüm için teşekkürler ... Bu, zsh'nin kendi iyiliği için fazla akıllı olmasının bir örneği gibi görünüyor ...
Owen

1
Benim için de çalıştı. Yine de garip!
roopunk


4

Bu NOMATCHseçeneği, zsh'nin bir glob arızasından şikayet etmek yerine metni yalnız bırakması için ayarlayın.


1
Selam, bunu nasıl başlatabilirim? içinde .zshrcmi
GoingMyWay

4

Bu gönderi , scp komutlarındaki globlerden otomatik olarak kaçmak için url-quote-magic eklentisini kullanarak buna güzel bir çözüm sunar. Etkinleştirmek için aşağıdakini ekleyin ~/.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)'

Bir *scp veya rsync komutunda uzak bir yolun parçası olarak bir glob karakteri (gibi ) yazdığınızda, zsh otomatik olarak önüne bir karasırtı ekler:

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

1
Bu iğrenç ama güzel bir numara.
Attila O.

1

Parti için çok geç, ama ..

Dize tırnak işaretleri ile de kaçabilirsiniz.

scp "hostA:Descargas/debian-6.0.4-*" "user@192.168.1.154:Escritorio/Software/"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.