যখন এসএসএইচকে কোনও রিমোট সার্ভারের সাথে আরএসআইএনসি সংযোগ করতে ব্যবহার করেন, তখন আপনি কীভাবে ফাঁকা স্থান এবং এ জাতীয় দূরবর্তী পথে পালাতে পারেন? একটি সাধারণ ব্যাকস্ল্যাশ লোকাল ব্যাশ প্রম্পটের জন্য স্থানটি থেকে পালিয়ে যায়, তবে রিমোট মেশিনে স্থানটি তখন পথের বিরতি হিসাবে পড়তে হবে, এইভাবে সেই পথটির শেষটি চিহ্নিত করে।
সুতরাং যখন আমি যা করি rsync -avz /path/to/source/some\ dir/ user@host.tld:/path/to/dest/some\ dir/
তা হ'ল রিমোট সার্ভারটি সেভাবে পড়ছে /path/to/dest/some/
এবং যেহেতু এটি দূরবর্তী স্থানটি খুঁজে পায় না কারণ আসল গন্তব্যটি "" কিছু "পরিবর্তে" কিছু দির "।
যদি আমি একই কমান্ডটি চেষ্টা করি এবং স্থানীয় ব্যাশ প্রম্পটটি পাস করতে এবং দূরবর্তী সার্ভারের জন্য ব্যাকস্ল্যাশ বজায় রাখার জন্য ব্যাকস্ল্যাশ এবং স্থানটি ছেড়ে যায় (মোট তিনটি ব্যাকস্ল্যাশ /path/to/dest/some\\\ dir/
:) তবে এটি অবশ্যই রিমোট সার্ভারে ব্যাকস্ল্যাশ প্রেরণ করে তবে দূরবর্তী সার্ভারটি তারপরে স্থানটি এবং এরপরে অক্ষরগুলি ছড়িয়ে দেওয়ার /path/to/dest/some\/
পরিবর্তে পথটিকে ব্যাখ্যা করে /path/to/dest/some\ dir/
।
যদি আমি উদ্ধৃতি দিয়ে পথটি মোড়ানোর চেষ্টা করি তবে এটি কার্যকরভাবে একই জায়গায় আচরণ করে, কার্যকরভাবে স্থানটিতে পথটি কেটে ফেলে। সুতরাং এটি কেবলমাত্র স্থানীয় বাশ প্রম্পটটি পেরিয়ে যাওয়ার জন্য কাজ করে।
প্রথমদিকে আমি এমন একটি পাথ ব্যবহার করছিলাম যার মধ্যে "-" (স্পেস-হাইফেন-স্পেস) বিভাগ ছিল এবং রিমোট সার্ভারটি একটি ত্রুটি ফিরিয়ে দিচ্ছিল rsync: on remote machine: -: unknown option
যা এই স্থানটি প্রথম স্থানটিতে পালানোর প্রচেষ্টা শুরু করেছিল।
তাহলে দূরবর্তী পাথর থেকে হাইফেনের মতো ফাঁকা স্থান বা অন্যান্য ভ্রান্ত অক্ষরগুলি সরিয়ে না নিয়ে দূরবর্তী সার্ভারের সাথে এটি সঠিকভাবে কাজ করার জন্য আমার কী করা উচিত?
-s
ঠিকানাগুলি প্রয়োজন ছাড়াই ইস্যু ম্যানুয়ালি ডাবল পলায়নের প্রযোজ্য হবে।