আমি মনে করি --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 পৃষ্ঠা