変数にASCII値を格納できません。

変数にASCII値を格納できません。

16進数を10進数に変換してASCIIに変換し、変数に保存しようとしています。次のコードを使用しています。

HEX=30
DEC=`printf "%d\n" 0x${HEX}`
echo "$DEC"
ASC=`printf \\$(printf '%03o' $DEC)`
echo "$ASC"

次のエラー構文エラーが発生します。

`(' unexpected

私はSolaris 10を使用しており、kshASCII関数を使用して値を保存したくありません。関数を使用せずにこれを実行できるようにしたいです。

ベストアンサー1

$誤って2回エスケープすると、代わりに置き換えられた内部printfの結果が表示されますprintfprintf \$( ...必要なものとします)。これを行うには、ステートメント全体を次のように単純化できます。ASC=$(printf '%03o' $DEC)

おすすめ記事