আমি নিম্নলিখিত কমান্ডটি ব্যবহার করার পরে,
pngString="$(cat example.png)"
echo -n "$pngString" > tmp.png
আমি পিএনজি ফাইল হিসাবে tmp.png খুলতে পারি না। আমি যখন $pngString
ইমেজ ফাইলটি সঞ্চয় করতে ব্যবহার করি তখন কিছু তথ্য হারিয়ে যায় ।
সুতরাং প্রশ্নটি হল: আমি কীভাবে ব্যাশ স্ক্রিপ্টে ভেরিয়েবল ব্যবহার করে সম্পূর্ণ চিত্রের তথ্য সংরক্ষণ করতে পারি?
cat
এবং এর echo
সমস্ত সমস্যাগুলি হৃদয় পাঠ্য উপযোগে রয়েছে। বাইনারি ফাইলগুলিতে সন্দেহ ছাড়াই তাদের ছেড়ে দেওয়া অনির্দেশ্য ফলাফল পাবে। যে কারণে জিনিস base64
আবিষ্কার করা হয়েছিল।
cat example.png > tmp.png
বা কেন এখনও ভাল না cp example.png tmp.png
?
cat
আসলেই কোনও পাঠ্য উপযোগ নয়। এটি কমান্ড সাবস্টিটিউশন (যা নিউলাইনগুলি অনুসরণ করে), ভেরিয়েবল অ্যাসাইনমেন্ট (যা নাল বাইটগুলি ধারণ করতে পারে না) এবং echo
কমান্ডটি (যা ব্যাকস্ল্যাশ ক্রমগুলি ব্যাখ্যা করতে পারে) বাইনারিটি ছড়িয়ে দেবে, তা নয় cat
। তবে আমি আপনার সামগ্রিক বিষয়টির সাথে একমত।