Wie konvertiere ich ASCII-Zeichen in Bash in Bash?

10

Ich analysiere eine ntpq-Ausgabe, um ihren Inhalt über das Konsolendienstprogramm an unsere Datenbank zu übergeben. Das erste Element ist eine Teilzeichenfolge mit einem Zeichen, die den Status der Fernbedienung enthält. Es kann "*", "+", "o", "#" usw. sein. Ich würde es besser als Nummer in die Datenbank einfügen, damit es leicht von gespeicherten Prozeduren gehalten werden kann, aber ich habe keine Ahnung, wie um ein Zeichen in seine ASCII-Darstellung in Bash umzuwandeln.

Akalenuk
quelle

Antworten:

17

Setzen Sie Ihren Charakter in die Variable A.

printf '%d\n' "'$A"

Einige Beispiele:

$ A="*"; printf '%d\n' "'$A"
42
$ A="+"; printf '%d\n' "'$A"
43
$ A="#"; printf '%d\n' "'$A"
35
$ A="o"; printf '%d\n' "'$A"
111
suprjami
quelle
Dies ist wahrscheinlich selbstverständlich, aber die Variable selbst ist nicht erforderlich: z printf '%d\n' "'*".
Sam Marinelli