আমি ডিডির সাথে কিছু কৌশল করার চেষ্টা করছি। আমি ভেবেছিলাম এটির ডিডি-তে পাইপ দেওয়ার জন্য "হেডার" নামক একটি ভেরিয়েবলে কিছু হেক্সভ্যালু সংরক্ষণ করা সম্ভব হবে।
পরিবর্তনশীল ব্যতীত আমার প্রথম পদক্ষেপটি ছিল:
$ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex
$ hd hex
00000000 36 c9 da 00 b4 |6....|
00000005
এর পরে আমি এটি চেষ্টা করেছি:
$ header=$(echo -ne "\x36\xc9\xda\x00\xb4")
$ echo -n $header | hd
00000000 36 c9 da b4 |6...|
00000004
আপনি দেখতে পাচ্ছেন যে আমি ভেরিয়েবলে আমার \x00
মানটি হারিয়েছি $header
। কারও কি এই আচরণের ব্যাখ্যা আছে? এটি আমাকে উন্মাদ করে দিচ্ছে।
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hd
তবে এটি কেবল একই ফলাফল দেয়।
header="\x36\xc9\xda\x00\xb4"; echo -n "$header" | hd
তবে এটি মানব পাঠযোগ্য ফর্মটি সংরক্ষণ করার মতো জিনিস নয়।
bash: warning: command substitution: ignored null byte in input
।