Я намагаюся зробити деякі хитрощі з дд. Я думав, що можна зберегти деякі гексатичні значення у змінній під назвою "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
.