ฉันพยายามจะเล่นกลกับ dd ฉันคิดว่ามันจะเป็นไปได้ที่จะเก็บ hexvalues บางอย่างในตัวแปรที่เรียกว่า "header" เพื่อไพพ์ลงใน dd
ขั้นตอนแรกของฉันที่ไม่มีตัวแปรคือ:
$ 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
ฉันได้รับ