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 \x00
valor en la $header
variable. ¿Alguien tiene una explicación para este comportamiento? Esto me está volviendo loco.
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hd
sin 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
.