Ich versuche ein paar Tricks mit dd zu machen. Ich dachte, es wäre möglich, einige Hex-Werte in einer Variablen namens "header" zu speichern, um sie in dd zu leiten.
Mein erster Schritt ohne Variable war folgender:
$ echo -ne "\x36\xc9\xda\x00\xb4" |dd of=hex
$ hd hex
00000000 36 c9 da 00 b4 |6....|
00000005
Danach habe ich folgendes versucht:
$ header=$(echo -ne "\x36\xc9\xda\x00\xb4")
$ echo -n $header | hd
00000000 36 c9 da b4 |6...|
00000004
Wie Sie sehen, habe ich meinen \x00
Wert in der $header
Variablen verloren. Hat jemand eine Erklärung für dieses Verhalten? Das macht mich verrückt.
header="$(echo -ne "\x36\xc9\xda\x00\xb4")"; echo -n "$header" | hd
jedoch sein, dass dies nur das gleiche Ergebnis liefert.
header="\x36\xc9\xda\x00\xb4"; echo -n "$header" | hd
, ist aber nicht dasselbe wie das Speichern der vom Menschen lesbaren Form.
bash: warning: command substitution: ignored null byte in input
.