Tôi đang cố gắng làm một số thủ thuật với dd. Tôi nghĩ rằng có thể lưu trữ một số giá trị hex trong một biến gọi là "tiêu đề" để chuyển nó thành dd.
Bước đầu tiên của tôi không có biến là đây:
$ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex
$ hd hex
00000000 36 c9 da 00 b4 |6....|
00000005
Sau đó tôi đã thử điều này:
$ header=$(echo -ne "\x36\xc9\xda\x00\xb4")
$ echo -n $header | hd
00000000 36 c9 da b4 |6...|
00000004
Như bạn thấy tôi đã mất \x00
giá trị của mình trong $header
biến. Có ai có một lời giải thích cho hành vi này? Điều này khiến tôi điên mất.
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hd
tuy nhiên điều này chỉ cho kết quả tương tự.
header="\x36\xc9\xda\x00\xb4"; echo -n "$header" | hd
, nhưng không giống như nó đang lưu trữ hình thức có thể đọc được của con người.
bash: warning: command substitution: ignored null byte in input
.