bashでは、「$」とはどういう意味ですか?

bashでは、「$」とはどういう意味ですか?

文字のASCIIコードを取得したいので、以下があります。

VAR="a"
NUM=$(printf "%d" "'$VAR")
echo $NUM

'$この場合、どういう意味ですか?構文を理解するために誰かが私に文書を教えてもらえますか?$(...)またはのprintf一部かどうか理解していませんbash

ベストアンサー1

'$特別なことはありません。%dinを使用すると、printf引数を整数式として評価しようとします。 、または整数97'aとして扱われます。char a変数拡張なしで同じ結果が得られます。

$ printf %d\\n "'a'"
97
$ printf %d\\n "'0'"
48
$ printf %d\\n "'"$'\1'
1

~からバッシュ文書printf(強調):

文字列以外の書式指定子の引数は C 言語定数として扱われますが、前にプラス記号またはマイナス記号を使用できます。先頭の文字が一重引用符または二重引用符の場合、値は次の文字のASCII値です。

コメントで述べたように、残りの文字は無視されます。

おすすめ記事