AZまたはazの範囲にASCII文字が必要で、その数値を返すシェルスクリプトを作成しようとしています。たとえば、出力は次のようになります。
scarlet$ Please type a character between A and Z or between a and z:
scarlet$ A
scarlet$ The decimal value of A is: 65
私の試み:
#!/bin/bash
echo Enter a letter:
read A
echo -n ${A} | od -i | head -1 | cut -b 10- | tr -d " "
ベストアンサー1
POSIX:
$ printf %d\\n \'a
97
また、bash 4.0以降およびzshの非ASCII文字でも機能します。
$ printf %x\\n \'あ
3042
recode ..dump
以下を使用して16進コードポイントを表示することもできます。
$ printf aあ|recode ..dump
UCS2 Mne Description
0061 a latin small letter a
3042 a5 hiragana letter a