J'essaye de faire quelques tours avec dd. J'ai pensé qu'il serait possible de stocker des valeurs hexadécimales dans une variable appelée "en-tête" pour la diriger vers dd.
Ma première étape sans variable a été la suivante:
$ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex
$ hd hex
00000000 36 c9 da 00 b4 |6....|
00000005
Après cela, j'ai essayé ceci:
$ header=$(echo -ne "\x36\xc9\xda\x00\xb4")
$ echo -n $header | hd
00000000 36 c9 da b4 |6...|
00000004
Comme vous pouvez le voir, j'ai perdu ma \x00
valeur dans la $header
variable. Quelqu'un at-il une explication à ce comportement? Ça me rend fou.
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hd
mais cela donne juste le même résultat.
header="\x36\xc9\xda\x00\xb4"; echo -n "$header" | hd
, mais ce n'est pas la même chose que de stocker la forme lisible par l'homme.
bash: warning: command substitution: ignored null byte in input
.