Estou tentando fazer alguns truques com dd. Eu pensei que seria possível armazenar alguns valores hexadecimais em uma variável chamada "cabeçalho" para canalizá-lo em dd.
Meu primeiro passo sem uma variável foi este:
$ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex
$ hd hex
00000000 36 c9 da 00 b4 |6....|
00000005
Depois disso, tentei o seguinte:
$ header=$(echo -ne "\x36\xc9\xda\x00\xb4")
$ echo -n $header | hd
00000000 36 c9 da b4 |6...|
00000004
Como você pode ver, perdi meu \x00
valor na $header
variável. Alguém tem uma explicação para esse comportamento? Isto está me enlouquecendo.
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hd
mesmo resultado.
header="\x36\xc9\xda\x00\xb4"; echo -n "$header" | hd
, mas não é a mesma coisa que está armazenando a forma legível por humanos.
bash: warning: command substitution: ignored null byte in input
.