変数の値に含まれる変数名を再展開する - Linux シェルスクリプトプログラミング

PROGRAM


変数の値に含まれる変数名を再展開する

Linux シェルスクリプトで変数に値を代入するときに、次のようにすることで、値に含まれる変数名を展開することができます。

VALUE="${NAME}"

たとえばこのようにすることで、変数 VALUE には、変数 NAME に設定されている値が展開されることになります。

 

ここで、変数 VALUE の値が例えば "${FIRSTNAME} ${LASTNAME}" というように、別の変数名で構成されていたとします。

このような時、これらの変数をさらに展開したい場合には、次のように eval コマンドと echo コマンドを組み合わせて使用します。

VALUE2=$(eval echo ${VALUE})

これで、VALUE 変数に格納されていた内容の、変数に該当する部分を再展開して、値を得ることができました。

なお、この eval コマンドは、展開した変数の値にさらに変数が含まれている場合には、それらを全て展開した値が得られる様子です。


[ もどる ]