変数の値に含まれる変数名を再展開する - Linux シェルスクリプトプログラミング
PROGRAM
変数の値に含まれる変数名を再展開する
Linux シェルスクリプトで変数に値を代入するときに、次のようにすることで、値に含まれる変数名を展開することができます。
VALUE="${NAME}"
たとえばこのようにすることで、変数 VALUE には、変数 NAME に設定されている値が展開されることになります。
ここで、変数 VALUE の値が例えば "${FIRSTNAME} ${LASTNAME}" というように、別の変数名で構成されていたとします。
このような時、これらの変数をさらに展開したい場合には、次のように eval コマンドと echo コマンドを組み合わせて使用します。
VALUE2=$(eval echo ${VALUE})
これで、VALUE 変数に格納されていた内容の、変数に該当する部分を再展開して、値を得ることができました。
なお、この eval コマンドは、展開した変数の値にさらに変数が含まれている場合には、それらを全て展開した値が得られる様子です。
[ もどる ]