Estoy tratando de hacer algunos trucos con dd. Pensé que sería posible almacenar algunos valores hexadecimales en una variable llamada "encabezado" para canalizarlo en dd.
Mi primer paso sin una variable fue este:
$ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex
$ hd hex
00000000 36 c9 da 00 b4 |6....|
00000005
Después de eso probé esto:
$ header=$(echo -ne "\x36\xc9\xda\x00\xb4")
$ echo -n $header | hd
00000000 36 c9 da b4 |6...|
00000004
Como puede ver, perdí mi \x00valor en la $headervariable. ¿Alguien tiene una explicación para este comportamiento? Esto me está volviendo loco.
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hdsin embargo, esto solo da el mismo resultado.
header="\x36\xc9\xda\x00\xb4"; echo -n "$header" | hd, pero no es lo mismo que almacenar la forma legible por humanos.
bash: warning: command substitution: ignored null byte in input.