
Ich versuche, eine Zeichenfolge 10
gefolgt von einem NULL
( \0
) gefolgt von einem zu generieren 10
.
echo "10\010"
Scheint jedoch nicht zu funktionieren (ich vermute, es generiert zwei Zeichen – ein 10
gefolgt von ) \010
. Ich bin nicht sicher, wie ich diese Werte/Zeichen trennen/maskieren soll?
Ich habe es auch versucht, echo "10""/0""10"
es hatte das gleiche Ergebnis.
Ich leite diese Ausgabe an eine benannte Pipe weiter.
Antwort1
In einer POSIX-kompatiblen Shell könnten Sie Folgendes verwenden:
echo '10\000010'
beachten Sie, dass zum Beenden einer oktalen Escape-Sequenz echo
drei Oktalzahlen folgen müssen \0
.
Das Problem in Ihrem Fall ist, dass es bash
in diesem Fall nicht POSIX-kompatibel ist, da es nicht XSI
die Unterstützung implementiert, die für eine nicht eingebettete UNIX-Variante erforderlich ist.
bash
wird jedoch teilweise unterstützt printf
, daher können Sie Folgendes verwenden:
printf '10\00010\n'