एक अनछुए वाइल्डकार्ड scp के साथ दूर से काम क्यों करता है?


24

मैं इसे बैश में टाइप कर रहा हूं:

scp user@remote:~/dir/*.xml .

और यह काम करता है, रिमोट सर्वर पर वाइल्डकार्ड बनाने वाली सभी फाइलें प्राप्त करना। लेकिन यह काम क्यों करता है? मैंने सोचा था कि दलीलें वाइल्डकार्ड एक्सप्रेशन को तर्कों में तब्दील होने से पहले तर्कों की तरह दिखाई देती हैं scp।

जवाबों:


31

यदि कोई मेल फ़ाइल नाम नहीं है, तो बैश में एक वाइल्डकार्ड अभिव्यक्ति अपने आप में फैल जाती है। इसलिए, जब तक आप स्थानीय रूप से कोई फ़ाइल नहीं बनाते हैं जिसका नाम मेल खाता है user@remote:~/dir/*.xml, तो आपका आदेश बिना उद्धृत किए काम करता है।


9
और यह भी सक्षम नहीं है nullglobजो खाली स्ट्रिंग के लिए इसका विस्तार होगा
— एरिक रेनॉफ़

1
nullglobरिक्त स्ट्रिंग का विस्तार करने के लिए पैटर्न का कारण नहीं है; यह पूरी तरह से गायब हो जाता है। यह अंतर है scp "" .(दो तर्क, जिनमें से एक खाली स्ट्रिंग है) और scp .(एक एकल तर्क और एक अमान्य कॉल scp)।
— 14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.