আমার কাছে একটি .shফাইল রয়েছে, এতে একটি কমান্ড রয়েছে যা দূরবর্তী সার্ভার থেকে একটি নির্দিষ্ট ডিরেক্টরিতে একটি ফাইল অনুলিপি করে, মূল ফাইলের নাম সংরক্ষণ করে এবং দ্বিতীয় লাইনটি কেবল একটি মন্তব্য:
scp (host):~/filename.sql ~/
# just a comment
আমি স্ক্রিপ্টটির নাম রাখি dbcopy.sh, এটি আমার হোম ডিরেক্টরিতে রেখেছি এবং এটি কনসোল থেকে চালিত করে:
sh ~/dbcopy.sh
সমস্যাটি কারণ scp কমান্ড অনুসরণ করে একটি লাইন বিরতি, অনুলিপি করা ফাইলটির একটি মূল নাম পরিবর্তে একটি অক্ষর নিয়ে গঠিত (নীচের তালিকায় এটি একটি প্রশ্ন চিহ্ন হিসাবে প্রদর্শিত হয়) থাকে!
console> ls -l ~
...
-rw-rw-r-- 1 (user) (group) 158327960 26 oct 17:28 ?
scpকমান্ডের পরে যদি আমি কোনও লাইন ব্রেকগুলি সরিয়ে ফেলি তবে প্রত্যাশা অনুযায়ী সবকিছু কাজ করে।
এই পরিস্থিতিটি আমি কীভাবে পরিচালনা করব?
#!/bin/shসমস্যা হতে পারে তবে এটি হয় না। আমার পরীক্ষার স্ক্রিপ্ট শিরোনাম ছাড়া এবং ছাড়া কাজ করে। এটি কি ওএস চালু আছে? এছাড়াও, লাইনের echo ~/আগে যুক্ত করলে কী হয় scp?