scp with zsh: कोई मैच नहीं मिला


42

जब मैं zsh के ऊपर scp की कोशिश करता हूं, मुझे मिलता है

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

बाश में एक ही कमांड काम करता है


क्या आप किसी एक उत्तर को सही मान सकते हैं? कुछ बहुत अच्छे लगते हैं।
ज्योफ

जवाबों:


73

अपने वाइल्डकार्ड से बच जाएं:

scp hostA:Descargas/debian-6.0.4-\*

1
मुझे एक ही त्रुटि मिली जब QUEUE=*विकल्प के साथ एक रूबी रेसक वर्कर को चलाने की कोशिश कर रहा था । ठीक करने के लिए धन्यवाद!
mogramer

2
समाधान के लिए धन्यवाद ... यह अपने स्वयं के अच्छे के लिए बहुत स्मार्ट होने के उदाहरण की तरह लगता है ...
ओवेन

1
मेरे लिए भी काम किया। अजीब हालांकि!
रोपंक



4

इस पोस्ट के लिए एक अच्छा समाधान है url- कोट-मैजिक प्लगइन का उपयोग करके स्वचालित रूप से scp कमांड में ग्लब्स से बचने के लिए। इसे सक्षम करने के लिए, अपने को निम्न जोड़ें ~/.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)'

जब आप *एक scp या rsync कमांड में एक दूरस्थ पथ के हिस्से के रूप में एक ग्लोब कैरेक्टर (जैसे ) टाइप करते हैं, तो zsh अपने आप इस तरह एक ब्लैकस्लैश जोड़ देगा:

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

1
यह एक बुरा लेकिन अच्छा चाल है।
एटिला ओ।

1

पार्टी के लिए बहुत देर हो चुकी है, लेकिन ..

आप उद्धरण के साथ भी स्ट्रिंग से बच सकते हैं

scp "hostA:Descargas/debian-6.0.4-*" "user@192.168.1.154:Escritorio/Software/"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.