আমি মনে করি --includeযে --excludeকেবলমাত্র সেই ফাইলগুলি অন্তর্ভুক্ত না করে কেবলমাত্র ফাইলগুলি উপসেট অন্তর্ভুক্ত করার জন্য ব্যবহৃত হয় otherwise অন্য কথায়: আপনার সম্পর্কে ভাবতে হবে বাদ দিতে হবে অর্থ অন্তর্ভুক্ত করতে হবে ।
পরিবর্তে চেষ্টা করুন:
rsync -zarv --include "*/" --exclude="*" --include="*.sh" "$from" "$to"
আরএসসিএনসি সংস্করণ .6.০. or বা তার চেয়ে বেশি সংস্করণের জন্য, আদেশটিকে নিম্নরূপে সংশোধন করা দরকার (মন্তব্যগুলি দেখুন):
rsync -zarv --include="*/" --include="*.sh" --exclude="*" "$from" "$to"
-mপতাকা যুক্ত করা গন্তব্যে খালি ডিরেক্টরি কাঠামো তৈরি করা এড়াবে। সংস্করণ 3.1.2 পরীক্ষিত।
সুতরাং আমরা যদি কেবল * .sh ফাইল চাই তবে আমাদের সমস্ত ফাইল বাদ দিতে হবে --exclude="*", সমস্ত ডিরেক্টরি অন্তর্ভুক্ত করতে হবে--include="*/" অন্তর্ভুক্ত করতে হবে এবং সমস্ত * .sh ফাইল অন্তর্ভুক্ত করতে হবে --include="*.sh"।
আপনি বিভাগে কিছু ভাল উদাহরণ জানতে পারেন অন্তর্ভুক্ত করুন / প্যাটার্ন বিধি বাদ দিন এর man পৃষ্ঠা