文字のASCIIコードを取得したいので、以下があります。
VAR="a"
NUM=$(printf "%d" "'$VAR")
echo $NUM
'$
この場合、どういう意味ですか?構文を理解するために誰かが私に文書を教えてもらえますか?$(...)
またはのprintf
一部かどうか理解していませんbash
。
ベストアンサー1
'$
特別なことはありません。%d
inを使用すると、printf
引数を整数式として評価しようとします。 、または整数97'a
として扱われます。char
a
変数拡張なしで同じ結果が得られます。
$ printf %d\\n "'a'"
97
$ printf %d\\n "'0'"
48
$ printf %d\\n "'"$'\1'
1
~からバッシュ文書printf
(強調):
文字列以外の書式指定子の引数は C 言語定数として扱われますが、前にプラス記号またはマイナス記号を使用できます。先頭の文字が一重引用符または二重引用符の場合、値は次の文字のASCII値です。
コメントで述べたように、残りの文字は無視されます。