जवाबों:
यह से एक विचलन है POSIX विनिर्देशन , वह कौन सा राज्य है
एक पाथनाम जिसमें कम से कम एक गैर-स्लैश वर्ण होता है और जो एक या एक से अधिक ट्रेलिंग स्लैश के साथ समाप्त होता है, जैसे कि एकल डॉट वर्ण ('।') को पथनाम में जोड़ा जाता है।
लेकिन लिनक्स के तहत (यानी के साथ cp
से कमान GNU कोरुटिल्स , cp -r foo/ bar/
की तरह अभिनय करता है cp -r foo bar/
बजाय cp -r foo/. bar/
कब foo
एक निर्देशिका है। (जीएनयू कोरयूटिल्स एकमात्र दोषी नहीं है, मैंने अभी ओपनबीएसडी में वही व्यवहार देखा है जो आमतौर पर मानकों के अनुपालन पर अच्छा है।
तुम दौड़ सकते हो cp -r "/wordpress/3.0.1/." "/mySite/"
(यानी स्रोत को समाप्त करें /.
) से बचने के लिए 3.0.1/
स्तर। एक और संभावना है rsync -r "/wordpress/3.0.1/" "/mySite/"
।
एक तरफ के रूप में, मैं आदत में होने की सलाह देता हूं cp -a
बजाय cp -r
यदि आप लिनक्स और सिगविन के अलावा अन्य यूनियनों का उपयोग नहीं करते हैं। जब आप अंतर नोटिस करते हैं, -a
(जो अनुमति और प्रतीकात्मक लिंक को संरक्षित करता है) आमतौर पर सही है अन्य यूनियनों पर, का उपयोग करें cp -Rp
। साथ में rsync
, उपयोग -a
।
cp -- "$1" "$destination"
)। जब फ़ाइल नाम को सीधे निर्दिष्ट किया जाता है, तो उद्धरण केवल तभी आवश्यक होते हैं जब नाम में वर्ण होते हैं जो शेल के लिए विशेष होते हैं, जैसे रिक्त स्थान; एकल उद्धरण (एपोस्ट्रोफिस) 'foo'
और अधिक सामान्य होगा क्योंकि वे एकल उद्धरणों को छोड़कर सब कुछ की रक्षा करते हैं। (शैल उद्धृत नियम जटिल हैं।)
cp -r foo/ bar/
की तरह अभिनय करता है cp -r foo bar/
बजाय cp -r foo bar/
"- मैं उम्मीद करूंगा कि अंतिम दो अलग-अलग हों
cp -r foo/. bar/
"। निश्चित, धन्यवाद।
/wordpress/3.0.1/
जिसका नाम a से शुरू होता है.
। बेहतर उपयोगcp -r /wordpress/3.0.1/. /mySite/
।