नहीं काफी bash
बचने समस्या है, यह scp
इलाज x:
एक [उपयोगकर्ता @] मेजबान उपसर्ग के रूप में है, की कोशिश:
scp ./file:\ name.mp4 [email protected]:"/path/to/dest"
रिश्तेदार (जैसे ./
) या पूरी तरह से योग्य पथ का उपयोग करना (/path/to/source
) इस व्यवहार से बचाता है - से पहले /
की उपस्थिति OpenSH को संभावित host:
या [email protected]:
उपसर्ग के लिए जांचना बंद करने का कारण बनती है)। ओपनएसएसएच का scp
केवल विशेष-मामले फ़ाइल नाम है कि को कॉलन के साथ समस्याओं के बिना काम करने की इजाजत देता है, इसका सामान्य अर्थ में :
से बचने के लिए कोई समर्थन नहीं है, और वैध होस्टनामों की कोई अन्य धारणा नहीं है, इसलिए :
के साथ लगभग कोई फ़ाइल नाम इसका कारण बनो
([]
संलग्न IPv6 पतों की OpenSSH के साधारण पार्स के कारण, आप कर सकते हैं सफलतापूर्वक जो [
के साथ शुरू, या @[
:
से पहले होते हैं और ]:
शामिल नहीं है, लेकिन है कि आम तौर उपयोगी नहीं है ;-)
:
युक्त
scp
फ़ाइलें
(नीचे पाठ लिखा गया था जब original questionथा मैं पार्टी में एक कॉलन कैसे बच सकता हूँ? यह है कि स्थिति के लिए लागू होता है, लेकिन नहीं scp
के रूप में खोल से बचने का कोई राशि वहाँ मदद मिलेगी।)
सवाल का जवाब देने के बारे में कैसे:
से बचने के लिए, आप की जरूरत नहीं है, लेकिन "\:
" काम करता है।स्थानों है कि एक :
प्रयोग किया जाता है:
- अशक्त आदेश
:
, से बचने के लिए कोई जरूरत नहीं है, हालांकि आप कर सकते हैं, बस \e\c\h\o foo
है जैसे कि यह आदेश पर कोई प्रभाव नहीं ("कोई प्रभाव नहीं" नहीं पूरी तरह से सच है, अगर आप से बचने के है एक या अधिक वर्ण यह पाएगा एक उपनाम का मिलान नहीं हुआ जा रहा है)
PATH
(और अन्य, CDPATH
, MAILPATH
) मान भागने कोई उपयोगी प्रभाव (मैं एक :
युक्त एक निर्देशिका से मेरे रास्ते में एक कार्यक्रम चलाने में असमर्थ रहे हैं है, जो थोड़ा अप्रत्याशित है)
- पैरामीटर विस्तार
${name:-x}
और अधिक, name
[a-zA-Z_][a-zA-Z0-9_]
होना चाहिए, इसलिए चर नाम से बचने के लिए कोई जरूरत नहीं है, और के बाद से वहाँ कोई अस्पष्टता नहीं है, पैरामीटर विस्तार के अन्य रूपों
? :
trinary केवल चर और नंबर, कोई जरूरत पर चल रही है में बाद में :
से बचने के लिए कोई जरूरत नहीं [[:digit:]]
तरह पैटर्न में
==
और =~
वर्गों के साथ से बचने के लिए, आप \:
साथ बच सकते हैं, लेकिन मैं कैसे कि कभी भी उपयोगी हो सकता है के रूप में एक नुकसान में हूँ ...
- आदेश या फ़ंक्शन नाम के भीतर, कोई जरूरत नहीं भागने के लिए,
\:
का कोई उपयोगी प्रभाव नहीं है ,210
(ध्यान दें अशक्त आदेश सिर्फ :
, आप एक आदेश या समारोह ":foo
" की तरह नामित और यह #
को भागने के बिना लागू किया जा सकता है इस संबंध में यह अलग है जहां #foo
नाम के एक आदेश की आवश्यकता होगी हो सकता है यह है कि बच निकलें।)
स्रोत
2013-02-05 23:16:26
वही समस्या 'rsync' को प्रभावित करती है। सौभाग्य से, एक ही समाधान - '/ 'के साथ फ़ाइल नाम उपसर्ग करना - वहां भी मदद करता है। –