brauche ich so etwas wie "0x12345"
in einer Datei Skript mit einem bash zu schreiben. Der Hexadezimalwert ist eine Variable und die Anführungszeichen müssen in der Datei enthalten sein.Verwenden Escape-Codes sofort gefolgt von Zahlen
Um ein Zitat zu widerspiegeln, verwende ich \042
, und ich verwende $1
für das hex. So habe ich so etwas wie:
echo -e "\042$1\042" > file.txt
Das funktioniert perfekt, wenn $1
ist mit einem Buchstaben beginnt, sondern weil es mit einem 0 beginnt, wird der Escape-Code als \0420
oder so ähnlich interpretiert, und es schreibt ^Px123"
in der Datei statt "0x123"
Wie ich genau schreiben kann „0x ..“? Ich kann kein Leerzeichen oder ein anderes Zeichen vor der Nummer hinzufügen. Gibt es einen besseren Weg, um das zu tun, was ich versuche?
Mit 'echo -e "\ x22 $ 1 \ x22"' würde gearbeitet haben; Da die hexadezimale Sequenz maximal 2 Zeichen lang sein kann, "würde" sie die erste Ziffer von "$ 1" nicht "absorbieren" wie "\ 042". – chepner